1
我有一個包含以下sql代碼的txt文件(load_check_run_bmu.sql)。將T-SQL文件寫入PowerShell腳本
RESTORE DATABASE Address from disk='C:\dir\path\address.bmu'
Use Client
GO
Select f_name
From
cst.name
USE wage
GO
Exec sp_salary
Use Client
GO
Select f_name
From
cst.name
然後我有一個包含一個批處理文件:
sqlcmd -S .\NorthWind -i"C:\scripts\load_check_run_bmu.sql"
我需要做的是能夠執行所有必要的SQL命令的PowerShell腳本並消除SQL txt文件是什麼和SQLCMD批處理文件
我知道我需要下面的代碼,但我掙扎如何在T-SQL腳本轉換爲可用於$ SqlCmd.CommandText變量
0123東西
「Go」語句如何?我知道這是T-SQL中的批處理分隔符,而不是有效的sql命令。 那麼如何處理「GO」語句,以避免產生錯誤並取得必要的結果? – Gary
你有什麼錯誤? GO是由'sqlcmd'和'osql'實用程序和SQL Server Management Studio代碼編輯器識別的命令。 https://msdn.microsoft.com/en-gb/library/ms188037.aspx - 請參閱備註部分。你正在運行'SQL Server 2008'嗎? – Richard
使用「0」參數調用「ExecuteNonQuery」的異常:「GO'附近的語法錯誤。」 在C:\ temp \ test.ps1:47 char:9 + $ ReturnValue = $ SqlCmd.ExecuteNonQuery() + ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:SqlException – Gary