ORACLE의 언어셋 설정의 차이에 따른 에러

 

  • 클라이언트
    • NLS_LANG : AMERICAN_AMERICA.KO16KSC5601 (euc-kr,일반한글)
    • ORACLE 버전 : 관련없음
  • 서버
    • 언어셋 : AMERICAN_AMERICA.KO16MSWIN949 (cp949,ms949,확장완성형)
    • ORACLE 버전 : 관련없음
  • 문제점
    • 입력하는 문자열의 길이가 필드에 정의된 길이 작을 때에도
      ORA-01461: can bind a LONG value only for insert into a LONG column
      에러가 발생할 수 있다.
    • 보통 하나의 필드를 입력할 때 발생하지 않고, 한번에 두,세개를 넣을 때 발생한다.
  • 예제
    • F1 : 2001 바이트 문자열 , F2 : 2001 바이트 문자열
      • 에러가 발생.
  • 해결법
    • 클라이언트와 서버의 언어셋을 맞춰라!
  • P.S
    • 오라클 클라이언트 11g 풀, 윈도우 버전을 설치했을 경우
      NLS_LANG 설정법
      • 레지스트리 에디터에서
        HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient11g_home1
        에서
        NLS_LANG
        의 값을 변경


KOREAN_KOREA.KO16MSWIN949
AMERICAN_AMERICA.KO16KSC5601
AMERICAN_AMERICA.KO16MSWIN949

ORA-01461: can bind a LONG value only for insert into a LONG column


SELECT
(select value  from V$nls_parameters where PARAMETER='NLS_LANGUAGE')
||'_'||
(select value  from V$nls_parameters where PARAMETER='NLS_TERRITORY')
||'.'||
(select value from V$nls_parameters where PARAMETER='NLS_CHARACTERSET')
AS NLS_LANG
from dual



댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
3.30
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3