Unfortunately this doesn't appear to have done the trick as I am seeing the same behavior as before. Do you have any other suggestions of things to try?
Tim Bunce <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Try chaning these two lines in Oraperl.pm > > *Oraperl::ora_errno = \$DBD::Oracle::err; > *Oraperl::ora_errstr = \$DBD::Oracle::errstr; > > to: > *Oraperl::ora_errno = \$DBD::err; > *Oraperl::ora_errstr = \$DBD::errstr; > > Tim. > > On Wed, Sep 10, 2003 at 02:00:28PM -0500, [EMAIL PROTECTED] wrote: > > > > I am running into a problem where it appears as though the $ora_errno > > variable isn't being properly reset after encountering an error. What I am > > experiencing is that once $ora_errno and $ora_errstr is set, it stays set > > upon additional calls to &ora_bind(). The following code produces the > > problem: > > > > <--- code -- > > > > #!/usr/local/bin/perl > > > > use Oraperl; > > > > $DBH = &ora_login("", "userid/[EMAIL PROTECTED]"); > > > > #--------------------------------------------------------------------------- > > -------------- > > #These values should be empty... > > print "Error variables before doing anything...\n"; > > print "Error code: $ora_errno\n"; > > print "Error text: $ora_errstr\n"; > > > > #--------------------------------------------------------------------------- > > --------------- > > #First query -- shouldn't produce an error and will return a result. > > $sql = "select log_data from log_os where os_id = :1"; > > $csr = &ora_open($DBH, $sql); > > &ora_bind($csr, '1'); > > ($value) = &ora_fetch($csr); > > print "\nValue from query 1: $value\n"; > > print "\nError variables after basic query 1...\n"; > > print "Error code: $ora_errno\n"; > > print "Error text: $ora_errstr\n"; > > > > #--------------------------------------------------------------------------- > > --------------- > > #Second query -- will produce an error (ORA-01722: invalid number (DBD > > ERROR: OCIStmtExecute)) because > > #the bind variable isn't the correct type > > &ora_bind($csr, 'a'); > > ($value) = &ora_fetch($csr); > > print "\nValue from query 2: $value\n"; > > print "\nError variables after basic query 2...\n"; > > print "Error code: $ora_errno\n"; > > print "Error text: $ora_errstr\n"; > > > > #--------------------------------------------------------------------------- > > --------------- > > #Third attempt -- shouldn't produce an error and will return a result. The > > problem, however, is that $ora_errno and $ora_errstr > > #still has the previous error AFTER the successful &ora_bind() and > > $ora_fetch() call. > > &ora_bind($csr, 2); > > ($value) = &ora_fetch($csr); > > print "\nValue from query 3: $value\n"; > > print "\nError variables after basic query 3...\n"; > > print "Error code: $ora_errno\n"; > > print "Error text: $ora_errstr\n"; > > > > &ora_close($csr); > > print "Logoff of oracle....\n"; > > &ora_logoff($DBH); > > print "\n"; > > > > -- end code --> > > > > Is this possibly an installation/configuration problem? Something else? > > > > The various versions are: > > Oraperl emulation interface version 1.43 > > DBD::Oracle 1.14 using OCI8 by Tim Bunce > > DBI 1.37 by Tim Bunce > > Perl v5.6.0 build for AIX > > AIX version 5 > > > > Thank you for your help. > > > > ________________________________________ > > > > This e-mail and any files transmitted with it are confidential and are > > intended solely for the use of the individual or entity to whom they > > are addressed. If you are not the intended recipient or the individual > > responsible for delivering the e-mail to the intended recipient, please > > be advised that you have received this e-mail in error and that any > > use, dissemination, forwarding, printing, or copying of this e-mail > > is strictly prohibited. > > > > If you have received this e-mail in error, please immediately notify > > the HealthPartners Support Center by telephone at (952) 967-6600. > > You will be reimbursed for reasonable costs incurred in notifying us.