Кавычка Escape в web.config строке подключения

У меня есть строка подключения в моей веб-конфигурации:

<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />

Как Вы видите, существует знак цитаты (") в пароле (данный от другого отдела. Я не могу изменить этот пользовательский пароль дб).

Как я должен выйти из кавычки в этой строке подключения?

Btw: Я уже попробовал и кавычка; в строке. Это не работало - ado.net получил ArgumenException затем: "Формат строки инициализации не соответствует спецификации, запускающейся в индексе 57". 57 то, где и кавычка; находится в моей строке подключения. Я также пытался включить часть пароля в '-не работал также.

Также попробованный ""и \" - web.config не может быть проанализирован затем.

Спасибо за решение:

Я должен был объединить выход двойной кавычки и помещение пароля в одинарных кавычках:

<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass&quot;word'" providerName="System.Data.SqlClient" />
80
задан Sebastian P.R. Gingter 5 July 2010 в 09:52
поделиться

2 ответа

Используйте « вместо » , чтобы избежать этого.

web.config - это файл XML, поэтому следует использовать экранирование XML.

connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass&quot;word"

См. эту ветку форума.

Обновление :

« должно работать, но, поскольку это не так, пробовали ли вы некоторые другие escape-последовательности строк для .NET? \" и ] "" ?

Обновление 2:

Попробуйте одинарные кавычки для connectionString:

connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass"word'

Или:

connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass&quot;word'

Обновление 3:

Из MSDN (Свойство SqlConnection.ConnectionString ):

Чтобы включить значения, содержащие точку с запятой, символ одинарной или двойной кавычки, значение должно быть заключено в двойные кавычки. Если значение содержит как точку с запятой, так и символ двойных кавычек, значение можно заключить в одинарные кавычки.

Итак:

connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass&quot;word'"

Проблема не в web.config, а в формате строки подключения. В строке подключения, если у вас есть " в значении (пары ключ-значение), вам необходимо заключить значение в '. Итак, while Пароль = somepass "word не работает, Password = 'somepass" word' работает.

98
ответ дан 24 November 2019 в 09:55
поделиться

Используйте " Это должно сработать.

0
ответ дан 24 November 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: