Code: Select all
SQL> select parameter, value from v$nls_parameters;
PARAMETER VALUE
---------------------------------------------------------------- ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET AL32UTF8
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_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
SQL> desc cec.messagesservice
Name Null? Type
------------------------ -------- -------------------
DTMESS NOT NULL TIMESTAMP(6)
PRIORITY NOT NULL NUMBER(2)
MESSAGE NOT NULL CLOB
ID NOT NULL NUMBER(20)
STATUS VARCHAR2(20 CHAR)
TUniSQL sql is
Code: Select all
INSERT INTO MessagesService(ID,priority, message)
VALUES (:1,:2,:3)
and code is:
Code: Select all
AnsiString sMess="é";
QInsClob->Prepare();
QInsClob->Params->Items[0]->AsInteger=1;
QInsClob->Params->Items[1]->AsInteger=1;
QInsClob->Params->Items[2]->AsMemo=sMess;
QInsClob->Execute();
Project cec.exe raised exception class EOraError with message 'ORA-01461: can bind a LONG value only for insert into a LONG column'.
[*]There is no LONG value
[*]Setting "e" instead of "é" works
[*]DB charset is AL32UTF8=> "é" should work (it works from sqlplus).
Accentuated chars don't work, the ° also doesn't work.
Worse: On another database, 12.1.0.2EE RAC, characterset is WE8ISO8859P1, and there it works!
Any hint?