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/