0

Ceci est une question vraiment stupide, mais je suis vraiment frustré à ce sujet en ce moment.Parse chaîne à partir de app.config avec des caractères qui sont échappés

J'ai un app.config qui stocke les informations d'identification de l'utilisateur en ce moment, pour SQL Server.

Ainsi, le nom d'utilisateur et mot de passe est lecteur est "abcdefg".

Lorsque je tente d'exécuter un insert maintenant je cette exception:

Format de la chaîne d'initialisation ne sont pas conformes à la spécification à partir de l'indice 138.

Quand je change les informations d'identification à un utilisateur qui doesn N'avoir aucun caractère spécial qui a été échappé cela fonctionne comme un charme.

Est-ce que quelqu'un sait ce que ça peut être?

La chaîne de connexion qui se fait écrasa au cours d'une session de débogage est:

Data Source=MACHINE\\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=\"abcdefg\" 
+0

Je pense que cela peut avoir été déjà répondu http://stackoverflow.com/questions/20241862/what-to-do-about-spaces-on-my -connection-string – jonaglon

+0

@jonaglon: C'est ce que j'ai fait quand j'ai codé le mot de passe. Mais quand je le lis depuis app.config, c'est différent. Je ne peux pas ajouter de caractères d'échappement .NET dans la configuration, car la valeur est stockée entre guillemets. Ensuite, le fichier app.config sera illisible. – Alex

Répondre

0

Vous pouvez échapper aux guillemets doubles dans le champ Mot de passe avec "

Ainsi, les connectionStrings se présente comme suit:

<connectionStrings> 
    <add connectionString="Data Source=MACHINE\\SQLSERVER;Initial Catalog=DbName;Connect Timeout=300;Application Name=application;User ID=reader;Password=&quot;abcdefg&quot;" name="CS"/> 
    </connectionStrings>