|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
Bonjour,
Question concernant mot-de-passe sql2005 avec caractères spéciaux et batch MS-DOS. Nous avons un BATCH MS-DOS pour faire des migrations automatiques et des tests sur SQL2005. ex : modif.cmd. quand on lance modif.cmd on lui passe des paramètres : Code :
modif.cmd SERVER_NAME DB_NAME, USER_NAME, MOT_DE_PASSE. J'ai mis un '%' dans mon password. ex : pwd1% pour tests. dans le batch, j'exécute la commande : Code :
Citation:
si solution il y a, quelle est-elle ? je vous remercie par avance pour une réponse. salutations. |
|||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 056 ![]() |
salut
Il te faut doubler le pourcent. Mais je te recommande vivement d'utiliser un compte Windows à la place de ton compte SQL Server si c'est possible.
__________________
Emmanuel T. |
|
|
00
|
|
|
#3 | ||||||
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
Bonjour,
merci pour la réponse. voici un peu plus de détails. comment faire pour passer un mot-de-passe avec des caractères spéciaux ? nous sommes en SQL2005. J'ai une commande qui appelle un fichier .cmd le mot de passe est : 'password&' l'appel se fait comme ceci : Code :
dans le batch SQLServerVersion, on a : Code :
CALL ISQLB %1 %2 %3 SQLServer_quelle_version.sql %LOGFILE% %5 Code :
Code sql :
quand le script SQLServer_quelle_version fait un accès à SQLSERVER, j'ai une erreur car le mot-de-passe n'est pas accepté par SQL SERVER. comment faire pour passer un mot-de-passe avec des caractères spéciaux ? |
||||||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() ![]() |
1.
Pour dé-spécialiser le caractère esperluette (&) il faut utiliser l'accent circonflexe (^) exemple : Citation:
Pour dé-spécialiser le caractère pourcent (%) il faut le doubler exemple : Citation:
|
||
|
10
|
|
|
#5 |
|
Invité de passage
![]() Inscription : novembre 2010 Messages : 4 ![]() |
Bonjour,
comme je l'explique, le mot de passe vient de SQLSERVER 2005. donc, les caractères spéciaux peuvent être placés n'importe où dans le mot. on peut avoir dans le mot de passe : selon le désir de l'administrateur de sql. dans un batch, on récupère le mot de passe par un paramètre passé comme exemple ci-dessous dans les précédents mails. comment puis-je régler ce problème en sachant que les clients n'utilisent pas WINDOWS authentication. merci par avance pour votre réponse. |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 056 ![]() |
Citation:
Nous t'avons expliqué que pour passer un mot de passe avec caractères spéciaux, il te faut : doubler les % utiliser un ^ devant les & donc si le mot de passe est stocké dans SQL Serve (càd dans une table), tu peux utiliser la fonction REPLACE pour effectuer les 2 changements indiqués ci-dessus.
__________________
Emmanuel T. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com