Powershell SQLCMD
-
06-07-2019 - |
Question
Nous rencontrions des problèmes avec Powershell et SQLCMD, car il y avait des erreurs dans le paramètre -v, la variable powershell n'exécutait pas la commande.
par exemple
sqlcmd ... -v VAR="Some space"
Quelqu'un en at-il déjà fait l'expérience ou sait-il résoudre le problème?
Merci,
B
La solution
La syntaxe ci-dessus fonctionne pour la ligne de commande PS mais échoue dans un script.
Nous avons longtemps lutté pour réussir ce travail. Un de nos gars très compétents en assurance qualité a finalement proposé ce qui suit:
$variableWithSpaces="one two three"
$mySqlCmd = "sqlcmd -E -S $dbServer -i $script -v var=```"$variableWithSpaces```" "
Invoke-Expression $mySqlCmd
Branchez moche mais ça marche.
Autres conseils
Powershell transmettra le paramètre au programme sous la forme "VAR = Un espace"
. Peut-être que sqlcmd trébuche sur cela. En utilisant
VAR=`"Some space`"
au lieu de cela, il sera passé en tant que VAR = "Un peu d'espace"
. Peut-être que cela résoudra le problème.