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