SQL Server 2008中使用SMO,仍然沒有去... ConnectionContext.ExecuteNonQuery(腳本)無法理解 「GO」
使用後正確引用我敢說:
System.Data.SqlClient;
Microsoft.SqlServer.Management.Smo;
Microsoft.SqlServer.Management.Common;
Microsoft.SqlServer.Management.Sdk.Sfc;
所有編譯沒有錯誤。
爲了便於調試,我已將代碼剝離到幾乎爲零。
連接到服務器好吧,等等。
Excuting下面的代碼:
SqlConnection connection = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(connection));
server.ConnectionContext.ExecuteNonQuery(sqlDBQuery);
凡sqlDBQuery
是一個字符串:USE [master] GO ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF GO ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF GO
但它並不重要 「sqlDBQuery」 是的,我總是得到同樣的錯誤,像
GO附近的語法不正確
。
我是相信如果我刪除GO這是一個去...這麼說,但我真的需要SMO會被說BatchSeparator =「GO」
照顧這,當我看着我的ConnectionContext
知道爲什麼我的SMO不起作用。
無處不在我只是說「使用smo就像這樣,你就沒事了」。呃...對我不起作用。
看到這個職位由喬恩·加洛韋以供參考: http://weblogs.asp.net/jgalloway/archive/2006/11/07/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-2D00-the-easy-way.aspx
問候
感謝您的回覆,這是非常真實的,「GO」不是SQL,但我試圖使用此解決方案,併購買所有手段,我不明白爲什麼它不適用於我。請參閱Jon Galloways非常讚賞的解決方案:http://weblogs.asp.net/jgalloway/archive/2006/11/07/Handling-_2200_GO_2200_-Separators-in-SQL-Scripts-_2D00_-the-easy-way.aspx – tman 2009-10-21 09:03:46
你在那裏!一小時前發現問題!我重新格式化了以前使用的解決方案的文本(從逃脫標誌剝離文本!)使用StreamReader讀取文件而不是作爲資源(繞過格式化)時發現它。是的,我很愚蠢。感謝您的努力,接近成爲救星! – tman 2009-10-21 10:59:26