我在使用SQL Server 2012數據庫的Visual Studio 2012中運行SSIS。使用OLE DB Source時出現下面的錯誤。此OLE DB源正在執行類似於下面所示的SQL。當我在最後刪除GO語句時,SSIS包執行正常。SSIS:「GO'附近的語法不正確。」錯誤
在SQL Server Management Studio中,無論GO語句是否存在,SQL都會正常執行。
在數據流任務中執行OLE DB源。
爲什麼GO在SSIS包內執行時會導致這個錯誤,應該怎麼辦?非常感謝。
錯誤:
[OLE DB Source from SQL variable [33]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E14. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14 Description: "Statement(s) could not be prepared.". An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E14 Description: "Incorrect syntax near 'GO'.".
SQL:
/* Test statement */
SELECT 'test' as N'test'
GO
'GO'不是有效的TSQL關鍵字。它僅由諸如SSMS之類的客戶端工具用作批量分隔符。他們不會將'GO'發送給SQL Server本身。 –