- 클라이언트
- 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