On Mon, Jun 24, 2002 at 03:01:03PM -0700, Reddy Thalakola wrote: > I have cron script that runs fine on a bsd machine, but returns this output > on the linux machine. > > i have version 1.21 on the linux machine. > > DBD::Oracle::db do failed: ORA-00000: normal, successful completion (DBD > SUCCESS_WITH_INFO: OCIStmtExecute) at > /home/scripts/update/recompilestoredprocedures line 33. > > here is the code: > > while (my ($oname,$otype) = $select->fetchrow_array) { > $sql = "ALTER $otype $oname COMPILE"; > unless ( $db->do($sql)) { ## this db statement generates the eror > $objectsnotcompiled = $objectsnotcompiled . $oname . ' '; > } > }
The DBI needs some standard way to handle the 'success with info' concept. Meanwhile: : Changes in DBD::Oracle 1.09 27th August 2001 : : Changed behaviour when OCIStmtExecute() returns OCI_SUCCESS_WITH_INFO: : used to be treated as OCI_SUCCESS, now also sets $DBI::err/$DBI::errstr : and will therefore trigger RaiseError/PrintError if they are set. So you can either disable RaiseError/PrintError for that statement or just wrap an eval { ... } around it (probably better). The OCI_SUCCESS_WITH_INFO is probably due to PL/SQL warnings from the COMPILE. Tim.