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