Mam parametry połączenia w mojej konfiguracji internetowej:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />
Jak widzisz, w haśle znajduje się znak cudzysłowu (") (podane z innego działu. Nie mogę zmienić tego hasła użytkowników bazy danych).
Jak mam opuścić cudzysłów w tych parametrach połączenia?
Btw: już próbowałem & bdquo; w ciągu. To nie zadziałało - ado.net dostał wtedy ArgumenException: „Format ciągu inicjalizacyjnego nie jest zgodny ze specyfikacją zaczynającą się od indeksu 57.” 57 jest gdzie & quot; znajduje się w moich parametrach połączenia. Próbowałem też dołączyć część hasła w „- też nie działa.
Wypróbowano również "" i \ "- web.config nie może być wtedy przeanalizowany.
Dzięki za rozwiązanie:
Musiałem połączyć unikanie podwójnego cudzysłowu i umieszczenie hasła w pojedynczych cudzysłowach:
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'" providerName="System.Data.SqlClient" />
źródło
connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word"
Ponieważ plik web.config to XML, musisz uciec przed pięcioma znakami specjalnymi:
&
->&
ampersand, U + 0026<
-><
lewy nawias ostry, znak mniejszości, U + 003C>
->>
prawy nawias ostry , znak większości, U + 003E"
->"
cudzysłów, U + 0022'
->'
apostrof, U + 0027Przypuszczam, że + nie jest problemem.
Duc Filan dodaje: Powinieneś również zawrzeć swoje hasło pojedynczym cudzysłowem
'
:connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'"
źródło
;
charakter?jeśli
nie działa, spróbuj"
zamiast tego."
źródło
Odpowiedź Odedsa jest prawie kompletna. Jeszcze jedna rzecz do dodania.
posiadanie tego hasła = "'; to powinien być prawidłowy ciąg połączenia:
connectionString='Server=dbsrv;User ID=myDbUser;Password='"&&;'
źródło
password='''';
jest ważny. Ale twoja sugestia jest jedyną rzeczą, która zadziałała dla mnie. Jest to również używane w innych schematach ucieczki.Użyj
"
To powinno działać.źródło