我有一个带有获取数据的 PowerShell 脚本,然后运行一个 SQL 文件,解析它获得的数据。但是我不断收到以下错误:
Invoke-Sqlcmd :用于为 Invoke-Sqlcmd cmdlet 定义新变量的格式无效。请使用“var=value”格式定义新变量。
PowerShell 脚本:
Write-host $ID, $XMLParam, $SourceID
$DBParam1 = "ID="+ $ID
$DBParam2 = "XMLPARAM="+ $XMLParam
$DBParam3 = "SOURCEID="+ $SourceID
$DBParams = @($DBParam1, $DBParam2, $DBParam3)
$Results = Invoke-Sqlcmd -InputFile "D:\SamHelp\marksheet.sql" -Variable $DBParams -Server $SQLServer -Database 'DB' -Username $Username -Password $Password
SQL 文件:
declare @id int, @xmlParam xml, @sourceID int
SET @id = '$(ID)'
SET @xmlParam = '$(XMLPARAM)'
SET @sourceID = '$(SOURCEID)'
...
Write-Hostpowershell 中的输出:
001 <data><destSu id="000001"/><destSu id="000002"/></data> 0000001