Hello,
I have the next error (Error ORA-01461: can bind a LONG value only for insert into a LONG column) when I update a record on an UTF8 Oracle database (this problem does not occured when the charset is WE8MSWIN1252).
I Used a prepared statement to update the table with a command like
UPDATE TABLE1 SET COL3 = :1
WHERE COL1 = :2
AND COL2 = :3
AND COL4 = :4
The parameters are :
:1 (String[12],IN) = 'Fiche témoin'
:2 (String[5],IN) = '36741'
:3 (String[1],IN) = '1'
:4 (String[14],IN) = 'Fiche témoinxx'
Table "Table1" is created as
CREATE TABLE "TABLE1" (
"COL1" NUMBER(10) NOT NULL,
"COL2" NUMBER(10) NOT NULL,
"COL3" VARCHAR2(2500) NULL)
My params for the SQLConnection (TCRSQLConnection) are :
BlobSize=-1
DataBase=exs
DriverName=Oracle (Core Lab)
ErrorResourceFile=
LocaleCode=0000
Password=exs
Oracle TransIsolation=ReadCommited
User_Name=exsusr
LongStrings=True
EnableBCD=True
InternalName=
UseQuoteChar=False
CharLength=0
Charset=WE8MSWIN1252
The NLS_LANG or the Oracle client is set to FRENCH_FRANCE.WE8MSWIN1252 and the database is set to AMERICAN_AMERICA.UTF8
Have you an idea?
Regards
Alain