Maybe trap for oracle error number 1008 ?
my @sql = (
q{select * from sfile where id = ?},
q{select * from sfile where id = '?'},
);
for my $sql (@sql) {
my $stmt = $dbh->prepare($sql);
eval {
$stmt->execute();
};
if ($@) {
if ($stmt->err() == 1008) {
Try using :val instead of ?
Oracle does not understand that notation.
HTH
Hannes
E R wrote:
> Perhaps I should have divulged more of what I am already trying.
>
> I am getting this error:
>
> ORA-01036: illegal variable name/number (DBD ERROR: OCIBindByName)
> [for Statement "EXPLAIN PLAN SET
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
I released DBD::ODBC 1.20 yesterday. I am happy to accept any make test
results mailed directly to me whether they are success or failure. If
you mail me success results I'll compile a listing of working ODBC drivers.
The changes are listed below the
Thanks for the tip.
As it turns out, my real problem was that I am supplying bind
parameters to the EXPLAIN PLAN statement. Either form of placeholder
(? or :XXX) will work in a EXPLAIN PLAN statement, but you do not want
to pass any bind parameters when executing the statement.
Thanks again to e