Use trace. Use trace. Use trace.

Tim.

On Mon, Jul 09, 2001 at 05:01:40AM -0700, Richard Sutherland wrote:
> Dear Members,
> 
> I am the author/maintainer of DDL::Oracle.  A bug has recently been
> logged which I can duplicate, but I believe the bug is in DBD::Oracle (or
> maybe Oracle?).
> 
> The user reporting the bug is using:
> 
> - RedHat 7.1- DBI-1.18
> - DBD-Oracle-1.07
> - DDL-Oracle-1.10
> - Oracle Client 8.0.5.0.0
> 
> Using DBD::Oracle v1.07, I am getting an error on Oracle7 instances which
> does not occur on Oracle8 instances.  The error is:
> 
>   DBD::Oracle::db prepare failed: ORA-01008: not all variables bound (DBD
>   ERROR: OCIStmtExecute/Describe) at 
>   /usr/lib/perl/5/site_perl/5.6.0/DDL/Oracle.pm line 4403,
>   <STDIN> chunk 4.
> 
> It is failing during the "prepare" statement for SQL statements with a
> bind variable.  [It failed on several different statements I tested.]
> Below is an example snippet of code from CPAN module DDL::Oracle.  I
> cannot find any problem with the code, and I believe it worked in earlier
> (1.06?) versions of DBD::Oracle.
> 
> Is it possible that this is a problem in DBD::Oracle?
> 
> Thanks for any advice.
> 
> Richard Sutherland
> 
> ---------------------------
> 
>   my $stmt;
> 
>   if ( $oracle_major == 7 )
>   {
>     $stmt =
>       "
>        SELECT
>               'NO'                    AS partitioned
>             , 'NOT IOT'               AS iot_type
>        FROM
>               ${view}_tables
>        WHERE
>                   table_name = UPPER( ? )
>       ";
>   }
>   else
>   {
>     $stmt =
>       "
>        SELECT
>               partitioned
>             , iot_type
>        FROM
>               ${view}_tables
>        WHERE
>                   table_name = UPPER( ? )
>       ";
>   }
> 
>   if ( $view eq 'DBA' )
>   {
>     $stmt .=
>         "
>               AND owner      = UPPER('$owner')
>         ";
>   }
> 
>   $sth = $dbh->prepare( $stmt );                      <-- Line 4403
>   $sth->execute( $name );
>   my @row = $sth->fetchrow_array;
>   die "Table \U$name \Ldoes not exist.\n\n" unless @row;
> 
>   my ( $partitioned, $iot_type ) = @row;
> 
> --------------------------------
> 
> 
> 
> =====
> Richard Sutherland
> [EMAIL PROTECTED]
> 
> 
> "It doesn't get any easier, you just go faster."
>   -- Greg LeMond
> 
> __________________________________________________
> Do You Yahoo!?
> Get personalized email addresses from Yahoo! Mail
> http://personal.mail.yahoo.com/

Reply via email to