我正在使用 powershell 并使用Invoke-SqlCmd
. 我能够将变量传递给 SQL:
$variables = @( "MyVariable='hello'" )
Invoke-SqlCmd `
-ServerInstance 'localhost' `
-Database 'master' `
-Username 'matthew' `
-Password 'qwerty' `
-Query 'SELECT $(MyVariable) AS foo' `
-Variable $variables
这让我hello
按预期返回。但是,如果我有一个变量,其值包含等于(=
):
$variables = @("MyVariable='aGVsbG8NCg=='") # base64 encoded 'hello'
它给了我以下错误:
用于为
Invoke-Sqlcmd
cmdlet 定义新变量的格式无效。请使用 'var=value' 格式定义新变量。
我找不到任何sqlcmd
关于Invoke-SqlCmd
我应该如何正确转义值的文档。
如何转义发送到sqlcmd
/的变量Invoke-SqlCmd
?