From: Tim Bunce [mailto:[EMAIL PROTECTED] 
Sent: Friday, October 07, 2005 12:19 PM
To: Jared Still
Cc: Moon, John; 'dbi-users@perl.org'
Subject: Re: Execute failed: ORA-01026: multiple buffers of size > 4000 in
the bind list (DBD: oexec error)

On Fri, Oct 07, 2005 at 07:02:43AM -0700, Jared Still wrote:
> On Wed, 2005-10-05 at 10:46, Moon, John wrote:
> > The following code produces this error - ORA-01026 - after 2,000
inserts...
> > Any help or suggestions will be greatly appreciated.
> 
> You should troubleshoot this with the help of Oracle Support if you have
> it.
> 
> There are a number of possible causes, the two most frequent being
> incorrect NLS_LANG environment variable settings, or bugs.

Though I suspect there may be a DBD::Oracle bug where (for example) a
buffer is growing by one byte each execute until it reaches the 4000
limit and causes the error.

This error has been reported on and off for years. No one has produced a
small enough test case to make it easy to track down and see if the
problem lies with DBD::Oracle or not.

Tim.

jwm wrote.

Thanks to all who replied... 

The program I have failed consistently at around 2,000 inserts... In trying
to resolve the problem (thinking it may have been a data error in one record
(?)) I put a trap in to start printing (dump) the records at the point of
failure... The program did not fail. I took the print out and program would
fail.

I have implemented the following work around and have not had a failure
since... 
&MyStd_Titles("Loaded $item_nbr",35) if $item_nbr%100 == 0;
$item_nbr++;

(the sub called prints a timestamped message...)

Interestingly Sql Loader from Oracle does a similar message...

If anyone with more knowledge that I (which is very little) would like to
pursue this problem and give me some directions on how/what to do to product
results for someone to look at I will be happy to try at this site.

jwm


Reply via email to