web.config 연결 문자열의 이스케이프 따옴표
웹 구성에 연결 문자열이 있습니다.
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />
보시는 바와 같이 비밀번호에 따옴표( " )가 있습니다(다른 부서에서 제공).이 db 사용자 비밀번호는 변경할 수 없습니다).
이 연결 문자열에서 따옴표를 이스케이프하려면 어떻게 해야 합니까?
Btw: 저는 이미 현에서 "를 시도했습니다.그것은 작동하지 않았습니다. ado.net 은 ArgumenException을 받았습니다. "초기화 문자열의 형식이 인덱스 57에서 시작하는 사양과 일치하지 않습니다." 57은 제 연결 문자열에서 "가 있는 곳입니다.비밀번호 부분도 '에 동봉해 봤는데 역시 안 됐어요.
또한 "" 및 \" - web.config를 구문 분석할 수 없습니다.
솔루션 감사합니다.
저는 이중 따옴표 탈출과 암호를 단일 따옴표로 묶어야 했습니다.
<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'" providerName="System.Data.SqlClient" />
사용하다"대신에"그것을 피하기 위해.
web.config는 XML 파일이므로 XML 이스케이프를 사용해야 합니다.
connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word"
이 포럼 스레드를 참조하십시오.
업데이트:
"작동해야 하지만 작동하지 않기 때문에 .NET에 대한 다른 문자열 이스케이프 시퀀스를 시도해 본 적이 있습니까? \"그리고.""?
업데이트 2:
connectionString에 대해 작은 따옴표를 사용합니다.
connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass"word'
또는:
connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass"word'
업데이트 3:
MSDN(SqlConnection)에서.연결 문자열 속성):
세미콜론, 단일 따옴표 또는 이중 따옴표 문자를 포함하는 값을 포함하려면 값을 큰따옴표로 묶어야 합니다.값에 세미콜론 문자와 큰따옴표로 묶은 문자가 모두 포함된 경우 값을 작은 따옴표로 묶을 수 있습니다.
그래서:
connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'"
문제는 web.config가 아니라 연결 문자열의 형식에 있습니다.연결 문자열의 경우"(키-값 쌍의) 값에 값을 포함해야 합니다.'그래서 지금은 동안에.Password=somepass"word작동하지 않습니다.Password='somepass"word'한다.
connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word"
web.config가 XML이므로 다음 5개의 특수 문자를 이스케이프해야 합니다.
&->& 앰퍼샌드, U+0026
<->< 좌측 앵글 브래킷, 부호 미만, U+003C
>->> 직각 브래킷, 기호보다 큼, U+003E
"->" 따옴표, U+0022
'->' 아포스트로피, U+0027
제 생각에는 문제가 되지 않을 것 같습니다.
듀크 필란은 다음과 같이 덧붙입니다.또한 암호를 따옴표 하나로 묶어야 합니다.':
connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass"word'"
한다면작동하지 않습니다. 그럼 시도해 보십시오."대신."
오데스 답변이 거의 완료되었습니다.한 가지만 덧붙일 게 있습니다.
- Emanuelle Greche가 말한 것처럼 이스케이프 xml 특수 문자.
- Oded가 말한 것처럼 암호를 작은따옴표로 묶습니다.
- (새 항목) 다른 단일 눈금으로 단일 눈금 이스케이프(ref)
다음 암호를 사용합니다. =". 유효한 연결 문자열이어야 합니다.
connectionString='Server=dbsrv;User ID=myDbUser;Password='"&&;'
사용하다"그러면 되겠군요.
언급URL : https://stackoverflow.com/questions/3177861/escape-quote-in-web-config-connection-string
'programing' 카테고리의 다른 글
| Eclipse의 메모리 사용량을 줄이는 방법은 무엇입니까? (0) | 2023.05.17 |
|---|---|
| Git merge 대신 Gitrebase를 사용할 때는 언제입니까? (0) | 2023.05.17 |
| 이클립스에서 Tomcat 서버의 시간 초과 변경 (0) | 2023.05.17 |
| 루비의 다른 배열에 배열을 추가하고 다차원 결과로 끝나지 않으려면 어떻게 해야 합니까? (0) | 2023.05.17 |
| SQL Server 2008을 사용하여 테이블에서 상위 1000개 행을 삭제하는 방법은 무엇입니까? (0) | 2023.05.17 |