dhackbar has asked for the wisdom of the Perl Monks concerning the following question:

I've got a fairly odd issue with using both an Oracle connection and a ODBC connection from the same script. I can do everything (select/delete/update/insert) on either database in separate scripts, but when I put them together I get odd errors. I put together the following code to demonstrate the errors I'm seeing.
Perl Version: 5.8.6 DBD:Oracle 1.16 DBD:ODBC 1.13 DBI 1.48 unixODBC 2.2.10 freetds 0.63RC10 OS: HPUX 11.11 Any help would be greatly appreciated!! Thanks, Derek #!/usr/bin/perl use strict; use DBI; my $odbc = DBI->connect("dbi:ODBC:dbx","UID","PASS",{RaiseError=>1, Pr +intError=>1,AutoCommit=>1}); my $oracle = DBI->connect("dbi:Oracle:dbo","UID","PASS",{RaiseError=>1 +, PrintError=>1,AutoCommit=>1}); my $sth = $oracle->prepare("select sysdate from dual"); ------- ERROR OUTPUT: DBD::Oracle::db prepare failed: ORA-24373: invalid length specified fo +r statement (DBD ERROR: OCIStmtPrepare) [for Statement "select sysdat +e from dual"] at ./bug.pl line 10. DBD::Oracle::db prepare failed: ORA-24373: invalid length specified fo +r statement (DBD ERROR: OCIStmtPrepare) [for Statement "select sysdat +e from dual"] at ./bug.pl line 10.

Replies are listed 'Best First'.
Re: DBD:Oracle & DBD:ODBC conflict
by cmeyer (Pilgrim) on Jun 02, 2005 at 22:46 UTC

    Try running your test program with the DBI trace level turned up. It may give you information that will point towards the problem.

    Add a call to DBI->trace( 2 ); at the top of your program, before connecting. If this doesn't help, try a trace level of 4.