<[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > We are having a problem. Any help would be appreciated. > > 1: We are running Perl on NT. > 2: Perl is reading lines of code from a file, concatonating it in a variable, > and writing to an Oracle database. > 3: I keep on getting a message: > DBD::ODBC::st excute failed: [Microsoft][ODBC driver for Oracle][Oracle]ORA-01461::can bind > a LONG value only for insert into a LONG column (SQL-22001) [Microsoft][ODBC driver for Oracle] > Error in Parameter 2: Data truncated <SQL-01004> (DBD: st_execute/SQLExecute err=-1) > > > The execute usualy works fine. The variable is much less than the 32K limit in the database. > Any question, suggestions?
This sounds familiar to a problem that I had. Try doing the following after your connect (you can pass this on the connect too if you want) $dbh->{LongReadLen} = 32768; also, here's a snip from another post I just found ----------------- The origin of LongReadLen is related to the problem of not knowing in advance how long the longest LONG selected will be. So for drivers which need to pre-allocate buffers for the db api to fetch into there needed to be some way to define what size to use. If your db api provides a way to dynamically size buffers for LONGs then the original motivation for LongReadLen goes away. --------------------------------------- So guess (if this helps at all) you want to set smallest value you can get away with HTH Rob > > Thank you -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]