Tengo una cadena de conexión en mi configuración web:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />
Como puede ver, hay un signo de cita (") en la contraseña (proporcionada por otro departamento. No puedo cambiar esta contraseña de usuarios de base de datos).
¿Cómo tengo que escapar de la cita en esta cadena de conexión?
Por cierto: ya probé & quot; en la cuerda. Eso no funcionó: ado.net obtuvo una ArgumenException y luego: "El formato de la cadena de inicialización no se ajusta a la especificación que comienza en el índice 57". 57 es donde el & quot; está en mi cadena de conexión. También intenté incluir la parte de la contraseña en '- tampoco funcionó.
También probé "" y \ "- web.config no se puede analizar entonces.
Gracias por la solucion:
Tuve que combinar el escape de las comillas dobles y poner la contraseña entre comillas simples:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'" providerName="System.Data.SqlClient" />
fuente
connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word"
Dado que web.config es XML, debe escapar de los cinco caracteres especiales:
&
->&
ampersand, U + 0026<
-><
corchete en ángulo izquierdo, signo menor que, U + 003C>
->>
corchete en ángulo recto, signo mayor que, U + 003E"
->"
comillas, U + 0022'
->'
apóstrofe, U + 0027+ no es un problema, supongo.
Duc Filan agrega: También debe envolver su contraseña con comillas simples
'
:connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'"
fuente
;
carácter?si
no funciona, intente en su"
lugar."
fuente
La respuesta de Odeds está casi completa. Solo una cosa para agregar.
teniendo esta contraseña = "'; esta debería ser una cadena de conexión válida:
connectionString='Server=dbsrv;User ID=myDbUser;Password='"&&;'
fuente
password='''';
es válido. Pero tu sugerencia es lo único que funcionó para mí. En realidad, esto también se usa en otros esquemas de escape.Use
"
Eso debería funcionar.fuente