On Mon, Jun 07, 2004 at 09:52:43PM +0100, Tim Bunce wrote:
> On Mon, Jun 07, 2004 at 12:06:48PM +0100, Dan Hopkins wrote:
> > Hi,
> > 
> > I've installed DBD-Oracle-1.14 on Solaris 9 against Oracle 7.3.4 client libs
> > (Perl 5.8.3 + DBI-1.42) and there's a couple of issues I can't seem to fix

> > "Use of uninitialized value in subroutine entry at <myscript>.pl line
> > <whatever>
> > DBD::Oracle::st fetchrow_array warning:  [for Statement <mySQL>] at
> > <myscript.pl> line <whatever>"
> > 
> >     -> fetch for DBD::Oracle::st (DBI::st=HASH(0x2a3480)~0x1fc6e8)
> >     !! warn: 0 undef (err#0)
> >     <- fetch= undef row1 at DBI.pm line 1478
> 
> For some reason the err value for the handle is being set to zero
> (instead of being left as undef) when there's no apparent error.
> But I can't see a code path that would act in that way.
> 
> [Please send a level 9 trace to me, not the list. Thanks.]
> 
> Possibly it's an interaction between the DBI's new mechanism for
> warn/info messages and a code path in DBD::Oracle that calls the
> oci_error function when there's no actual error.

Ah, found it in the old Oracle 7 OCI code... delete this line:

  sv_setiv(DBIc_ERR(imp_sth), 0); /* ensure errno set to 0 here   */

from oci7.c (probably line 341).

Tim.

> You have to use "perl Makefile.PL -8" to build using Oracle 7 OCI.
> But that's history now as the next release doesn't support Oracle 7 at all.
> 
> Tim.

Reply via email to