我們遇到了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