PowerShell的SQLCMD(Powershell SQLCMD)

2019-07-28 23:27发布

我们遇到了PowerShell和SQLCMD,当有在-v参数变量的PowerShell不会运行命令sapces问题。

sqlcmd ... -v VAR="Some space"

有没有人经历过这样或知道如何解决这个问题呢?

谢谢,

Answer 1:

上面的语法同样适用于在PS命令行,但在脚本中失败。

我们挣扎了很久着如何使这项工作。 我们的一个非常聪明的QA家伙终于想出了以下内容:

$variableWithSpaces="one two three"
$mySqlCmd = "sqlcmd -E -S $dbServer -i $script  -v var=```"$variableWithSpaces```" "
Invoke-Expression $mySqlCmd 

插入丑陋,但它的工作原理。



Answer 2:

PowerShell的将实际参数传递给程序为"VAR=Some space" 。 也许SQLCMD绊了这一点。 通过使用

VAR=`"Some space`"

相反,它会获得通过的VAR="Some space" 。 也许能解决问题。



文章来源: Powershell SQLCMD