Échapper à la citation dans le web.config chaîne de connexion
J'ai une chaîne de connexion dans mon web config:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />
Comme vous le voyez, il y a une citation signe ( " ) dans le mot de passe (compte tenu des autres dept. Je ne peux pas changer cette db mot de passe des utilisateurs).
Comment puis-je faire pour échapper à la citer dans cette chaîne de connexion?
Btw: j'ai déjà essayé & quot; dans la chaîne. Qui n'a pas de travail ado.net a obtenu un ArgumenException alors: "le Format de la chaîne d'initialisation n'est pas conforme à la spécification commençant à l'index 57."
57 est là que le & quot; est dans ma chaîne de connexion.
J'ai aussi essayé en joignant la partie mot de passe dans ' - ne fonctionne pas non plus.
Aussi essayé "" et \" - web.config ne peut pas être analysée ensuite.
Merci pour la solution:
J'ai dû combiner l'échappement de la double citation et de mettre le mot entre guillemets simples:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'" providerName="System.Data.SqlClient" />
Vous devez vous connecter pour publier un commentaire.
Utilisation
"
au lieu de"
échapper.web.la config est un fichier XML de sorte que vous devez utiliser XML s'échapper.
Voir cette fil de discussion du forum.
Mise à jour:
"
devrait fonctionner, mais comme ça ne marche pas, avez-vous essayé quelques-uns de l'autre de la chaîne de séquences d'échappement .NET?\"
et""
?Mise à jour 2:
Essayer de guillemets simples pour la connectionString:
Ou:
Mise à jour 3:
De MSDN (SqlConnection.Propriété ConnectionString):
Donc:
Le problème n'est pas avec web.config, mais le format de la chaîne de connexion. Dans une chaîne de connexion, si vous avez un
"
une valeur (de la paire clé-valeur), vous devez mettre la valeur'
. Ainsi, alors quePassword=somepass"word
ne fonctionne pas,Password='somepass"word'
n'.Depuis le web.config XML, vous avez besoin pour échapper à la cinq caractères spéciaux:
&
->&
esperluette, U+0026<
-><
chevron vers la gauche, signe inférieur, U+003C>
->>
support à angle droit, signe supérieur à, U+003E"
->"
guillemet, U+0022'
->'
apostrophe, U+0027+ n'est pas un problème, je suppose.
si
"
ne fonctionne pas alors essayez"
à la place.Utilisation
"
Qui devrait fonctionner.Odeds réponse est presque complète. Juste une chose à ajouter.
avoir ce mot de passe=""; ce doit être une chaîne de connexion valide: