Hi, I think DBI is messed up. I recently switched to Oracle9i 
from 8i and the same exact perl code stopped working!!!

Here's my problem:

This statement works (please don't ask why I use begin/end,
I actually use a stored proc that's why.. this is simplified
to point out the problem) 

$sql = "begin
insert into test values (10, 'blah');
end; ";
my $sth = $dbh->prepare( $sql );
$sth->execute();
$sth->finish;


And this, DOESN't work :(((

$arg = 'blah';
$sql = "begin
insert into test values (10, ? );
end; ";
my $sth = $dbh->prepare( $sql );
$sth->execute($arg);
$sth->finish;

This is the non-descript error thrown... 
==========================================
DBD::Oracle::st execute failed: ORA-06550: line 2, column 33:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated (DBD: oexec error) 
at ./4.get_data.pl line 60.
============================================

Please note that normal bind variables do work, like 
'select * from crap where crap_id = ? '

Also, the same exact code works on the previous database..

What's wrong here, guys? I've tried various alternate methods
using the bind variables, and even tried it with $dbh->do

Thanks!!




 



---------------------------------
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes

Reply via email to