我们遇到了Powershell和SQLCMD的问题,当-v参数变量中有sapces时,powershell不会运行该命令。Powershell SQLCMD
例如
sqlcmd ... -v VAR="Some space"
有没有人遇到过这种情况,或知道如何解决这个问题?
谢谢,
乙
我们遇到了Powershell和SQLCMD的问题,当-v参数变量中有sapces时,powershell不会运行该命令。Powershell SQLCMD
例如
sqlcmd ... -v VAR="Some space"
有没有人遇到过这种情况,或知道如何解决这个问题?
谢谢,
乙
上述语法适用于PS命令行,但在脚本中失败。
我们在如何完成这项工作上挣扎了很长时间。我们的一个非常聪明的QA家伙终于想出了以下情况:
$variableWithSpaces="one two three"
$mySqlCmd = "sqlcmd -E -S $dbServer -i $script -v var=```"$variableWithSpaces```" "
Invoke-Expression $mySqlCmd
插件丑陋,但它的工作原理。
尝试了4个多小时,甚至建设的echoargs看起来不错,但仍然失败的命令。这终于做到了。 PSH岩石。 –
ryascl
2014-09-15 05:03:14
Powershell的实际上将参数传递给该程序作为"VAR=Some space"
。也许sqlcmd绊倒了这一点。通过使用
VAR=`"Some space`"
而是它将通过为VAR="Some space"
。也许这可以解决问题。
你试过%20而不是空格吗? – 2009-06-18 20:34:28
如果您使用的是SQL 2008,我强烈建议使用Invoke-SqlCmd(以及其他cmdlet和提供程序)。 – 2009-08-29 16:05:21
相关:http://stackoverflow.com/questions/9714054/how-to-execute-sqlcmd-from-powershell – 2013-01-31 12:34:39