I've read all the threads out there on this but am not sure if
there's a known general solution or not.

We have a table with one CLOB and a number of other large VARCHAR2
columns.  The VARCHAR2 columns are mostly 4000 characters.  We can
get the CLOB data to bind and insert but eventually we start getting
those ORA-01461 errors:

 ORA-01461: can bind a LONG value only for insert into a LONG column

The fewer of the VARCHAR2 columns we include in the insert, the
better it seems to go.  That is, it seems to be the combination of
the CLOB and the big VARCHAR2 columns together that makes things
fail.  I've tried explicitly binding all columns using ora_type
settings (ORA_VARCHAR2) and I've tried using the ora_maxdata_size
with those.  It fails faster when I bind the VARCHAR2 columns.

In all cases so far, the actual data is a lot smaller than the
maximum column sizes.  I've read about the possible character set
issue, where it may use twice as much space for a double byte
encoding.  But the failures start with data that's less than half
the size of the column maximums.

It really seems like there's some shared buffer size under there
or something.

We have not tried inserting the CLOB data by itself (doing a two
pass insert).

Any ideas appreciated.  This is on Solaris using DBD::Oracle version
1.16; DBI version 1.37.

--
Steve Sapovits  [EMAIL PROTECTED]

Reply via email to