> -----Original Message-----
> From: John Scoles [mailto:[EMAIL PROTECTED]
> Sent: Thursday, March 20, 2008 5:27 AM
> Cc: Pompiliu; dbi-users@perl.org
> Subject: Re: perl DBI oracle and error ORA 06502
> 
> You might want to set the DB handles "LongReadLen" attribute to a
> higher
> values say 100 meg like this
> 
> dbh->{LongReadLen} = 100*1024*1024
> 
> and then give it a try,
> 
> That might work for you.
> 
> Cheers John Scoles

I Just started looking at the thread and I'm wondering if you are using any 
kind of connection pooling?  I had a (somewhat) similar problem a few years 
back using Oracle::DBD and sqlrelay where a request with bind variables would 
start returning the values from the _previous_ invocation.  I narrowed it down 
to the case where a SQL request was timed out and the script handle reused.  
The next request with that handle would return the values for the previous 
variables and every request thereafter was off by one.  When I bypassed the 
connection pooling it went away so I figured it was some kind of buffering in 
the pooling software.

I finally 'fixed' it by only using a script handle for a single set of 
variables then undef'ing it.

> 
> John Scoles wrote:
> > It could be in perl but if this is the case I would need the exact
> > procedure, schema, some data and the exact perl code that calls it.
> >
> > However to start please set the dbh->debug(6) before you call your
> > code and send me the results. There might be
> > a var that Perl is croaking on and this is one way to see where it
> dies.
> > Again I do not hold out much hope for this as it is a Oracle error
> > that is being returned not a DBI/DBD one.
> >
> > I would also need  the name of and version your OS, perl, DBI,
> > DBD::Oracle, The Oracle client you are running and the Oracle DB
> itself
> >
> > cheers
> > John Scoles
> >
> > Pompiliu wrote:
> >> Thanks a lot John.
> >> The problem is that this is a company code and data,
> >> and I would have to go through 'legal' or get cover
> >> from a director or higher to show them outside; great,
> >> huh? -- insert heavy sarcasm here ;-)
> >>
> >> I found what the error means though this does not help
> >> because:
> >>
> >> (a) Calling that particular package from sqlplus works
> >> fine and I get lots more rows in the output.
> >> (b) The problem shows in the perl code.
> >>
> >> The perl code is written in the usual/generic way (see
> >> the examples in CPAN and elsewhere). Basically I do a
> >> connect, $dbh->func(1000000000, 'dbms_output_enable');
> >> prepare (with a string containing a call to a PL/SQL
> >> package), bind params (2 of them), execute, and then
> >> start getting results with dbms_output_get (which is
> >> simply  DBMS_OUTPUT.GET_LINE underneath, according to
> >> the doc).
> >> I used DBI quite a bit before running
> >> selects/inserts/updates (simple SQL) with DB2 and
> >> Oracle, and it worked like a charm in all cases.
> >>
> >> Pompiliu
> >>
> >> --- John Scoles <[EMAIL PROTECTED]> wrote:
> >>
> >>
> >>> Ah yes the APPLE][ error for those of us who are old
> >>> enough to remember those things
> >>>
> >>> here is what the error code means
> >>>
> >>> *ORA-06502:*     PL/SQL: numeric or value error
> >>> /string/
> >>> *Cause:*     An arithmetic, numeric, string,
> >>> conversion, or constraint error occurred. For example, this error
> >>> occurs if an
> >>> attempt is made to assign the value NULL to a variable declared NOT
> >>> NULL, or if an attempt is made to assign an integer larger than 99
> to a
> >>> variable declared NUMBER(2).
> >>> *Action:*     Change the data, how it is manipulated,
> >>> or how it is declared so that values do not violate constraints.
> >>>
> >>>
> >>> So I would first have a look at your data looks like
> >>> there is something in the PSQL of the packge dbms_output_get  that
> is
> >>> giving you the error.  In this case DBI and DBD::Oracle are simply
> >>> working as they should returning an error message from the
> database.
> >>>
> >>> cheers
> >>> John Scoles
> >>> Pompiliu wrote:
> >>>
> >>>> Hi,
> >>>>
> >>>> I am running DBI and Oracle DB; I am executing a
> >>>> package and using   $dbh->func('dbms_output_get') as in
> >>>>     my $row;
> >>>>     while (($row = $dbh->func('dbms_output_get')))
> >>>>     {
> >>>>         print "$row\n";
> >>>>     }
> >>>>     if ($sth->err) {
> >>>>         print STDERR "ERROR: $DBI::errstr";
> >>>>     }
> >>>> to pull the output; I did set   $dbh->func(1000000000,
> >>>> 'dbms_output_enable');
> >>>> right after connect.
> >>>> The problem is that I am getting only part of the
> >>>> result and the error I am getting is ORA 06502.
> >>>>
> >>>> Everything works fine up to here. How can I fix
> >>>>
> >>> this?
> >>>
> >>>> Please email.
> >>>> Thanks. P
> >>>>
> >>>>
> >>>>
> >>
> _______________________________________________________________________
> _____________
> >>
> >>
> >>>> Never miss a thing.  Make Yahoo your home page.
> >>>> http://www.yahoo.com/r/hs
> >>>>
> >>
> >>
> >>
> >>
> >>
> _______________________________________________________________________
> _____________
> >>
> >> Looking for last minute shopping deals?  Find them fast with Yahoo!
> >> Search.
> >>
> http://tools.search.yahoo.com/newsearch/category.php?category=shopping
> >>
> 
> No virus found in this incoming message.
> Checked by AVG.
> Version: 7.5.519 / Virus Database: 269.21.7/1335 - Release Date:
> 3/19/2008 9:54 AM
> 

No virus found in this outgoing message.
Checked by AVG. 
Version: 7.5.519 / Virus Database: 269.21.7/1335 - Release Date: 3/19/2008 9:54 
AM
 

Reply via email to