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