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.

Reply via email to