IT2016. 3. 3. 17:01

RazorSQL v6.3.27을 사용해서 DB2에 있는 데이타를 조회하는데 아래와 같은 에러가 발생했다.


ERROR: [jcc][t4][1065][12306][3.69.24] Caught java.io.CharConversionException. See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null



구글 검색을 하니, 지금 조회하려는 데이타의 어딘가에 UTF-8로 표현할 수 없는 문자가 포함되어 있어서 생기는 문제라고 한다.

출처는 여기 


문서에 나와있는대로 DB2 v10.5 에 대응하는 최신의 JDBC를 여기에서 내려받아 기존의 JDBC 드라이버와 대치 하고

RazorSQL에 옵션을 추가하기 위해서 /Application/Contents/Info.plist 파일에 -Ddb2.jcc.charsetDecoderEncoder=3 옵션을 추가하여 문제를 해결했다.








추가)

이 문제를 해결하기 위해서 DB2에 옵션을 주는 것은 다음과 같이 두 가지 방법이 있는것 같다

1. java 실행시 Argument 로 DB2 옵션을 주는 방법

JavaArguments =-Ddb2.jcc.charsetDecoderEncoder=3

2. jdbc에서 DB2 옵션을 주는 방법

jdbc:db2://서버주소:포트번호/DB명:db2.jcc.charsetDecoderEncoder=3;





Posted by 窓雨