문제

OS 언어와 다른 Collation이있는 Oracle 데이터베이스를 사용하고 있습니다. ODBC 드라이버를 사용하여 데이터베이스에 액세스하고 있습니다. DB의 Collation에서 지원하는 특수 비 ASCII 문자와 관련된 문자 (예 : "Select * X where =?")를 준비 할 때 문자와 함께 데이터 행을 찾고 있습니다. SQL 문자열의 인수로 직접 선택을 실행하면 데이터 행을 찾을 수 없습니다.

도움이 되었습니까?

해결책

순수한 추측이지만 클라이언트 컴퓨터가 SQL 문자열을 올바르게 작성한 인수로 인코딩하지 않기 때문일 수 있습니다. 클라이언트가 DB Collation과 다른 지역 설정으로 설정되면 Oracle로 전송되는 Select 문이 포함 된 문자 배열은 원래 펑키 캐릭터가 위치한 "잘못된"바이트를 포함 할 것입니다. Oracle은 이것을 일부로 해석 할 것입니다. 원래 보낸 것 이외의 캐릭터 (행을 찾을 수 없음).

매개 변수화 된 접근법을 사용할 수없는 이유가 있습니까 (올바르게 작동하기 때문에)?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top