환경변수 상의 설정과 실제 디비의 설정은 다를 수 있습니다.
이 게시판에 찾아보시면 현재 디비의 NLS 설정을 검색하는 방법이 나와 있습니다.
먼저 디비의 NLS 설정을 확인해 보세요.
>>gloom 님께서 쓰시길<<
:: 프로젝트 진행중에 이상한 일이 생겨 곤란을 겪고 있어서 문의드립니다.
:: 아시는 분들의 조언 부탁드립니다. 아..우선 저는 자바 프로그래머인지라
:: 오라클에 대해서 깊이 알지는 못합니다. 그리고 지금 사용하는 DB도 제가
:: 설정한게 아니라는걸 우선 말씀드립니다.
::
:: 다름이 아니라 제가 짠 프로그램에서 오라클에 한글데이타를 입력하는 경우가
:: 많은데 아시다시피 영문이야 1자당 1byte로 계산하고 한글은 2byte로 계산해
:: 오라클내 테이블 구조나 컬럼당 사이즈등이 설계되어 있습니다.
::
:: 그런데 계속 데이타 입력시 에러가 나서 처음엔 어떤 문제인지 찾질 못하다가
:: 차분히 살펴보니 오라클 자체에서 한글 한자당 3바이트로 인식해 들어가고
:: 있더군요..
:: select lengthb('가나다') from dual 이런식으로 해보면
:: 값이 6이 아니라 9가 나온다는거죠...
::
:: 그러니 varchar2(10)이렇게 잡힌 컬럼에는 원래 한글 5자라고 설계했던 부분이
:: 실제로는 3자밖에 안들어가는 문제가 생기게 된거죠...
::
:: 우선 컬럼크기를 늘리거나 해서 돌아가고는 있습니다만 이건 근본적인 해결은 아니죠
::
:: 분명 오라클에 대한 설정등이 잘못된것 같은데 어떤 부분이 문제인지 저로선 잘
:: 모르겠군요...
::
:: 유닉스상에 오라클버젼 8.1.6입니다. 환경파일내의 NLS_LANG설정은
:: NLS_LANG American_America.KO16KSC5601 이런식으로 제대로 되어
:: 있는듯 한데.... 설치시의 문제인가요...
::
:: 짐작가시는분 답변 부탁드립니다.
::
|