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

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top