SqlCommand.ExecuteNoQuery()發生「接近 'GO' 之處的語法不正確」
透過StreamReader從Script.sql讀取內容,執行到SqlCommand.ExecuteNonQuery()時出現Error,不過把Script放到SSMS執行是正常的
SQL Server 公用程式會將 GO 解譯成應該將目前的 Transact-SQL 陳述式批次傳送給 SQL Server 執行個體的信號。 目前的陳述式批次由在上一個 GO 之後輸入的所有陳述式組成;如果是第一個 GO,便是從特定工作階段或指令碼開始之後輸入的所有陳述式組成。
也就是GO並非SQL的一部份,僅僅藉由它來區隔陳述式,ExecuteNonQuery()並不認識GO指令
處理方式:同樣是透過GO來區隔陳述式,分段執行ExecuteNonQuery()
GO 不是 Transact-SQL 陳述式;它是 sqlcmd 和 osql 公用程式與 SQL Server Management Studio 程式碼編輯器都能夠辨識的命令。
SQL Server 公用程式會將 GO 解譯成應該將目前的 Transact-SQL 陳述式批次傳送給 SQL Server 執行個體的信號。 目前的陳述式批次由在上一個 GO 之後輸入的所有陳述式組成;如果是第一個 GO,便是從特定工作階段或指令碼開始之後輸入的所有陳述式組成。
也就是GO並非SQL的一部份,僅僅藉由它來區隔陳述式,ExecuteNonQuery()並不認識GO指令
處理方式:同樣是透過GO來區隔陳述式,分段執行ExecuteNonQuery()
參考:GO (Transact-SQL) 、 SQL Server 批次範例
Post a Comment: