我正在使用powershell并使用Invoke-SqlCmd
。我能够将变量传递给SQL:sqlcmd中的转义变量/ Invoke-SqlCmd
$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'
它给了我下面的错误:
The format used to define the new variable for
Invoke-Sqlcmd
cmdlet is invalid. Please use the 'var=value' format for defining a new variable.
我无法找到任何sqlcmd
或Invoke-SqlCmd
上的任何文件我应该如何正确地逃避价值。
如何将变量发送到sqlcmd
/Invoke-SqlCmd
?
虽然这可能解决OP的问题,因为链接仅答案日后参考,请记下解决问题的组件。如果链接崩溃,答案仍然存在。 – eshirima