Hi, it's clearly a problem of conversion, but i don't know how resolve it and give you an example is not easy.
for example there is this address "RUE LOUISE DE SAVOIE" corresponding to the column LIB_RUE who generate this error. Here we have twenty characters with blank. If I modify LIB_RUE in VARCHAR2 (60 Char) the update works otherwise with a VARCHAR2 (32 Char) it doesn't work. except if i shutdown and restart the database.
To summarize, I made few change :
I replace all byte by char for data type in the table. so now my column LIB_RUE is now VARCHAR2 (32 Char)
In the init.ora i add this line : nls_length_semantics=CHAR
NLS parameters from instance, session and db :
SELECT * FROM NLS_INSTANCE_PARAMETERS;
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_SORT
NLS_DATE_LANGUAGE FRENCH
NLS_DATE_FORMAT DDMMYYYY HH24:MI:SS
NLS_CURRENCY
NLS_NUMERIC_CHARACTERS .
NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_TIME_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
NLS_DUAL_CURRENCY
NLS_COMP
NLS_LENGTH_SEMANTICS CHAR
NLS_NCHAR_CONV_EXCP FALSE
-------------------------------------------------------------------------------------------------------------------
SELECT * FROM NLS_SESSION_PARAMETERS;
NLS_LANGUAGE FRENCH
NLS_TERRITORY FRANCE
NLS_CURRENCY ?
NLS_ISO_CURRENCY FRANCE
NLS_NUMERIC_CHARACTERS ,.
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE FRENCH
NLS_SORT FRENCH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY ?
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS CHAR
NLS_NCHAR_CONV_EXCP FALSE
-------------------------------------------------------------------------------------------------------------------
SELECT * FROM NLS_DATABASE_PARAMETERS;
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .
NLS_CHARACTERSET WE8ISO8859P15
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DDMMYYYY HH24:MI:SS
NLS_DATE_LANGUAGE FRENCH
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 9.2.0.6.0
I was wondering if the parameter NLS_NCHAR_CHARACTERSET in AL16UTF16 wasn't the problem?
Partager