On Thu, Oct 13, 2005 at 07:35:53AM -0400, Moon, John wrote: > 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.
Interesting. > 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. It would be a *big* help if you could distill the code down to a very small test case. The smaller/simpler the test case, the faster the fix :) Tim.