Programming/JAVA

java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949

Edward. K 2021. 6. 16. 11:05
반응형

db select 시 아래와 같은 에러가 발생했다.
   java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949

더보기

    There was an unexpected error (type=Internal Server Error, status=500).
    Error attempting to get column 'DOC_NO' from result set. Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949 ; 
    uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949; 
    nested exception is java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
    org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column 'DOC_NO' from result set.  
    Cause: java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949    ; 
    uncategorized SQLException; SQL state [99999]; error code [17056]; 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949; 
    nested exception is java.sql.SQLException: 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가): KO16MSWIN949
        at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92)

Oracle DB의 문자셋(characterset)  방식은  'KO16MSWIN949'
  SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';

더보기

1) KO16KSC5601  * 한글자를 표현하기 위해서 2byte를 사용

      완성형 한글 방식, 일반적으로 많이 사용되며
       2350자의 한글, 4888자의 한자, 히라카나, 카타카나, 영문 및 각종 기호를 포함하고 있음

2) KO16MSWIN949  * 한글자를 표현하기 위해서 2byte를 사용
      웹 페이지 인코딩 방식인 MS949에서 따온 코드셋이라고 한다
      완성형 한글을 포함하여, 조합형까지 총 11172자의 한글을 표현

3) UTF8 / AL32UTF8  * 한글자를 표현하기 위해서 3byte를 사용
      유니코드 표준 UTF-8 인코딩 체계를 따르는 방식, 11172자의 한글을 지원
       Oracle 8i 보다 하위 버전인 경우 UTF8을 사용하며, 그 이상의 경우는 AL32UTF8을 사용한다.

 

사용하는 JDBC인    ojdbc8-21.1.0.0.jar 에서  지원하지 않는 인코딩 방식이라 에러가 발생한 것으로,
아래 방법으로 해결하면 된다.

1. orai18n.jar 다운로드  * orai18n.jar  으로 조회하여 다운로드 
      https://www.oracle.com/database/technologies/appdev/jdbc-ucp-19-7-c-downloads.html

 2. orai18n.jar  라이브러리 등록합니다.
      - 프로젝트 우클릭 > 하단의 Properties 선택 


      -  Properties 에서  Java Build Path  > Libraries 탭 선택,  Add External JARs... 선택,   orai18n.jar  등록


3. 서버 재 시작, 확인.

반응형