-v パラメータ変数にスペースがあると、Powershell と SQLCMD で問題が発生し、powershell がコマンドを実行しませんでした。
例えば
sqlcmd ... -v VAR="Some space"
誰もこれを以前に経験したことがありますか、または問題を解決する方法を知っていますか?
ありがとう、
B
-v パラメータ変数にスペースがあると、Powershell と SQLCMD で問題が発生し、powershell がコマンドを実行しませんでした。
例えば
sqlcmd ... -v VAR="Some space"
誰もこれを以前に経験したことがありますか、または問題を解決する方法を知っていますか?
ありがとう、
B
上記の構文は PS コマンドラインでは機能しますが、スクリプト内では失敗します。
私たちはこれを機能させる方法に長い間苦労しました。非常に賢い QA 担当者の 1 人が、最終的に次のことを思いつきました。
$variableWithSpaces="one two three"
$mySqlCmd = "sqlcmd -E -S $dbServer -i $script -v var=```"$variableWithSpaces```" "
Invoke-Expression $mySqlCmd
プラグは醜いですが、動作します。
Powershell は、実際にはパラメーターを としてプログラムに渡します"VAR=Some space"
。たぶん、sqlcmd はこれにつまずくでしょう。使用することで
VAR=`"若干のスペース`"
代わりに として渡されVAR="Some space"
ます。多分それは問題を解決します。