Java + Oracle xmltype insert 시 문제 : Non supported character set : oracle-character-set-840

1. 해결책[1]

JDBC Driver가 한글 지원을 하지 않아서 나는 에러입니다.
JDBC Driver중에 한글 패치가 된 드라이버가 있습니다.
만약 없다면 classes12.zip과 더불어 제공되는 nls_charset12.zip을 클래스패스에 추가해 주면 해결 될겁니다.

패치된 JDBC Driver는 classes12_1.zip이라는 이름으로 웹 자료실에서 배포되는 곳이 있을겁니다. 한번 찾아보세요.

출처 : http://www.javajigi.net/servlet/JMBoard?tablename=xml_qna&mode=view&boardpage=16&searchword=&searchscope=&category=&no=2

2. 해결책[2]

Looks like you got wrong JDBC drivers loaded by the JVM - for 1.4 try ojdbc14.jar (and they better be 9.2.0.2.) and verify that no other drivers are on CLASSPATH.
(클래스패스에 다른 jdbc 드라이버가 있는지 확인해라.)

그런데 ~/jre/lib/ext/ 는 디폴트 classpath이므로 여기도 반드시 확인해야 한다.

시스템의 ~/jre/lib/ext/에 classes12.jar 가 있었다. ~/jre/lib/ext/의 classes12.jar 를 없애면 해결할 수 있지만 다른 java 어플이 사용하고 있을수도 있기 때문에 삭제하지 않았고 ~/jre/lib/ext/ 에 nls_charset12.jar 를 추가하여 해결함.

출처 : http://forums.oracle.com/forums/thread.jspa?messageID=413418&#413418
출처 : http://orafaq.com/usenet/comp.databases.oracle.misc/2005/02/14/0310.htm



제발 디폴트 클래스패스 혹은 시스템 클래스패스에는 진짜 필수적인 라이브러리만 두자. 안그러면 다른 개발자들 고생한다. 특히 다음 차수 프로젝트 하는 개발자들 눈물흘리며 생고생 한다. ㅠㅠ

그리고 “해결책[2]” 는 네이버에 물어봐도 아무도 안가르쳐준다. 구글에서 간신히 찾았음.