2016-08-04 1 views
0

J'ai donc un script utilisé pour mettre à jour les utilisateurs sur les nœuds SQL des développeurs. Il fonctionne très bien dans SSMS, mais quand je le lance à partir cmd sql, je reçois une « syntaxe incorrecte près ... » erreur sur cette ligne:Le script SQL fonctionne correctement lorsqu'il est exécuté à partir de SSMS, mais la syntaxe échoue lors de l'exécution avec sqlcmd

EXEC('Drop USER "' + @name + '"') 

@name est remplacé correctement avec le nom de l'utilisateur I J'essaie de tomber, son jetant une erreur sur la syntaxe.

Répondre

0

Compris. sqlcmd interprète les guillemets doubles comme des guillemets simples ou les ignore complètement. Je pense que le premier, parce que si je tente de lancer soit:

DROP USER 'R715998-W10\MUD-CCTMRE.appool' 

ou

DROP USER "R715998-W10\MUD-CCTMRE.appool" 

Je reçois exactement la même erreur.

départissez les guillemets doubles pour crochets fixes, il:

EXEC('Drop USER [' + @name + ']')