Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

NLS_LANG setting on client

Status
Not open for further replies.

torturedmind

Programmer
Jan 31, 2002
1,052
PH
Hi all.

We have a 10g on a RH9 server with the ffg. NLS settings:
Code:
PARAMETER                   VALUE                       
--------------------------- ----------------------------
NLS_LANGUAGE                AMERICAN                    
NLS_TERRITORY               AMERICA                     
NLS_CURRENCY                $                           
NLS_ISO_CURRENCY            AMERICA                     
NLS_NUMERIC_CHARACTERS      .,                          
NLS_CHARACTERSET            UTF8                        
NLS_CALENDAR                GREGORIAN                   
NLS_DATE_FORMAT             DD-MON-RR                   
NLS_DATE_LANGUAGE           AMERICAN                    
NLS_SORT                    BINARY                      
NLS_TIME_FORMAT             HH.MI.SSXFF AM              
NLS_TIMESTAMP_FORMAT        DD-MON-RR HH.MI.SSXFF AM    
NLS_TIME_TZ_FORMAT          HH.MI.SSXFF AM TZR          
NLS_TIMESTAMP_TZ_FORMAT     DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY           $                           
NLS_COMP                    BINARY                      
NLS_LENGTH_SEMANTICS        BYTE                        
NLS_NCHAR_CONV_EXCP         FALSE                       
NLS_NCHAR_CHARACTERSET      AL16UTF16                   
NLS_RDBMS_VERSION           10.2.0.3.0
In my pc (XP SP3), I set the NLS_LANG to AMERICAN_AMERICA.WE8MSWIN1252 because this is what my code page says:
Code:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Codepage\ACP = 1252
My problem is, whenever I enter, say an "Ñ", in a table with a VARCHAR2(5 BYTE) column, the error message:
Code:
ORA-12899: value too large for column "TESTDB"."TESTTABLE"."TESTCOL" (actual: 6, maximum: 5)
appears. Why is this so? Sorry am still new to Oracle.

kilroy [knight]
philippines

"Once a king, always a king. But being a knight is more than enough."
 
The problem is probably character conversion. I've seen this before when data is transferred between databases running different character sets. Your multi-byte Ñ character is coming through as 2 bytes whereas your database only expects 1.

Have you tried the following change in the database parameters?
alter system set NLS_LENGTH_SEMANTICS='CHAR';
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top