I'm getting an error running DBD::Oracle:
DBD::Oracle::db do failed: ORA-00906: missing left parenthesis (DBD ERROR:
OCIStmtExecute/Describe) at ./trace.pl line 13.
The environment is perl 5.6.1 on Solaris 8 with DBI 1.32 and DBD-Oracle
1.12.
The script that produces the above error is just:
#!/opt/perl5/bin/perl -w
use strict;
use diagnostics;
use DBI;
use DBD::Oracle;
my ($dbname,$user,$passwd) = qw(KONFIG *** ****);
my $dev = $ARGV[0];
BEGIN {
$ENV{ORACLE_HOME} = '/opt/oracle/product/8.1.6';
$ENV{ORACLE_SID} = 'KONFIG';
}
my $dbh = DBI->connect("dbi:Oracle:KONFIG", $user, $passwd);
$dbh->do("SELECT uui FROM table device WHERE name = $dev");
$dbh->disconnect;
So it looks like I'm connecting OK, but the "do" fails.
Thanks
Andy Ford
A.G. Edwards & Sons, Inc.
[EMAIL PROTECTED]
314-955-6647
HOw bout a trace:
DBI 1.32-nothread dispatch trace level set to 5
-> DBI->connect(dbi:Oracle:KONFIG, konfigmgr, ****)
-> DBI->install_driver(Oracle) for solaris perl=5.006001 pid=29335
ruid=13013 euid=13013
install_driver: DBD::Oracle version 1.12 loaded from
/opt/perlmod/lib/site_perl/5.6.1/sun4-solaris/DBD/Oracle.pm
New DBI::dr (for DBD::Oracle::dr, parent=, id=)
dbih_setup_handle(DBI::dr=HASH(0x2d46b4)=>DBI::dr=HASH(0x3184c8),
DBD::Oracle::dr, 0, Null!)
dbih_make_com(Null!, DBD::Oracle::dr, 88) thr#0
dbih_setup_attrib(DBI::dr=HASH(0x3184c8), Err, Null!) SCALAR(0x29b798)
(already defined)
dbih_setup_attrib(DBI::dr=HASH(0x3184c8), State, Null!) SCALAR(0x2d64e0)
(already defined)
dbih_setup_attrib(DBI::dr=HASH(0x3184c8), Errstr, Null!)
SCALAR(0x29b774) (already defined)
dbih_setup_attrib(DBI::dr=HASH(0x3184c8), Debug, Null!) 0 (already
defined)
dbih_setup_attrib(DBI::dr=HASH(0x3184c8), FetchHashKeyName, Null!)
'NAME' (already defined)
<- install_driver= DBI::dr=HASH(0x2d46b4)
-> connect for DBD::Oracle::dr (DBI::dr=HASH(0x2d46b4)~0x3184c8 'KONFIG'
'konfigmgr' **** HASH(0x2b5cc8))
New DBI::db (for DBD::Oracle::db, parent=DBI::dr=HASH(0x3184c8), id=)
dbih_setup_handle(DBI::db=HASH(0x31848c)=>DBI::db=HASH(0x3177ec),
DBD::Oracle::db, 2d1bf4, Null!)
dbih_make_com(DBI::dr=HASH(0x3184c8), DBD::Oracle::db, 116) thr#0
dbih_setup_attrib(DBI::db=HASH(0x3177ec), Err, DBI::dr=HASH(0x3184c8))
SCALAR(0x29b798) (already defined)
dbih_setup_attrib(DBI::db=HASH(0x3177ec), State, DBI::dr=HASH(0x3184c8))
SCALAR(0x2d64e0) (already defined)
dbih_setup_attrib(DBI::db=HASH(0x3177ec), Errstr,
DBI::dr=HASH(0x3184c8)) SCALAR(0x29b774) (already defined)
dbih_setup_attrib(DBI::db=HASH(0x3177ec), Debug, DBI::dr=HASH(0x3184c8))
0 (already defined)
dbih_setup_attrib(DBI::db=HASH(0x3177ec), FetchHashKeyName,
DBI::dr=HASH(0x3184c8)) 'NAME' (already defined)
dbih_setup_attrib(DBI::db=HASH(0x3177ec), HandleError,
DBI::dr=HASH(0x3184c8)) undef (not defined)
<- connect= DBI::db=HASH(0x31848c) at
/opt/perlmod/lib/site_perl/5.6.1/sun4-solaris/DBI.pm line 513 via ./trace.pl
line 13
-> STORE for DBD::Oracle::db (DBI::db=HASH(0x3177ec)~INNER 'PrintError'
1)
STORE DBI::db=HASH(0x3177ec) 'PrintError' => 1
<- STORE= 1 at /opt/perlmod/lib/site_perl/5.6.1/sun4-solaris/DBI.pm line
555 via ./trace.pl line 13
-> STORE for DBD::Oracle::db (DBI::db=HASH(0x3177ec)~INNER 'AutoCommit'
1)
<- STORE= 1 at /opt/perlmod/lib/site_perl/5.6.1/sun4-solaris/DBI.pm line
555 via ./trace.pl line 13
<- connect= DBI::db=HASH(0x31848c)
-> do in DBD::_::db for DBD::Oracle::db (DBI::db=HASH(0x31848c)~0x3177ec
'SELECT uui FROM table device WHERE name = 245245')
1 -> prepare for DBD::Oracle::db (DBI::db=HASH(0x3177ec)~INNER 'SELECT uui
FROM table device WHERE name = 245245' undef)
New DBI::st (for DBD::Oracle::st, parent=DBI::db=HASH(0x3177ec), id=)
dbih_setup_handle(DBI::st=HASH(0x3184bc)=>DBI::st=HASH(0x318444),
DBD::Oracle::st, 3184f8, Null!)
dbih_make_com(DBI::db=HASH(0x3177ec), DBD::Oracle::st, 208) thr#0
dbih_setup_attrib(DBI::st=HASH(0x318444), Err, DBI::db=HASH(0x3177ec))
SCALAR(0x29b798) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x318444), State, DBI::db=HASH(0x3177ec))
SCALAR(0x2d64e0) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x318444), Errstr,
DBI::db=HASH(0x3177ec)) SCALAR(0x29b774) (already defined)
dbih_setup_attrib(DBI::st=HASH(0x318444), Debug, DBI::db=HASH(0x3177ec))
0 (already defined)
dbih_setup_attrib(DBI::st=HASH(0x318444), FetchHashKeyName,
DBI::db=HASH(0x3177ec)) 'NAME' (already defined)
dbih_setup_attrib(DBI::st=HASH(0x318444), HandleError,
DBI::db=HASH(0x3177ec)) undef (not defined)
dbd_st_prepare'd sql SELECT
dbd_describe SELECT (EXPLICIT, lb 80)...
OCIErrorGet after OCIStmtExecute/Describe (er1:ok): -1, 906: ORA-00906:
missing left parenthesis
!! ERROR: 906 'ORA-00906: missing left parenthesis (DBD ERROR:
OCIStmtExecute/Describe)'
1 <- prepare= undef at
/opt/perlmod/lib/site_perl/5.6.1/sun4-solaris/DBI.pm line 1220 via
./trace.pl line 14
!! ERROR: 906 'ORA-00906: missing left parenthesis (DBD ERROR:
OCIStmtExecute/Describe)'
<- do= undef at ./trace.pl line 14
DBD::Oracle::db do failed: ORA-00906: missing left parenthesis (DBD ERROR:
OCIStmtExecute/Describe) at ./trace.pl line 14.
<> DESTROY ignored for outer handle DBI::st=HASH(0x3184bc) (inner
DBI::st=HASH(0x318444))
-> DESTROY for DBD::Oracle::st (DBI::st=HASH(0x318444)~INNER)
<- DESTROY= undef at ./trace.pl line 15
dbih_clearcom 0x3184bc (com 0x345518, type 3) done.
-> disconnect for DBD::Oracle::db (DBI::db=HASH(0x31848c)~0x3177ec)
<- disconnect= 1 at ./trace.pl line 15
<> DESTROY ignored for outer handle DBI::db=HASH(0x31848c) (inner
DBI::db=HASH(0x3177ec))
-> DESTROY for DBD::Oracle::db (DBI::db=HASH(0x3177ec)~INNER)
<- DESTROY= undef
dbih_clearcom 0x31848c (com 0x319da8, type 2) done.
-- DBI::END
-> disconnect_all for DBD::Oracle::dr (DBI::dr=HASH(0x2d46b4)~0x3184c8)
<- disconnect_all= '' at
/opt/perlmod/lib/site_perl/5.6.1/sun4-solaris/DBI.pm line 575 via ./trace.pl
line 0
dbih_clearcom 0x2d46b4 (com 0x319d30, type 1) done.
<> DESTROY for DBI::dr=HASH(0x2d46b4) ignored (inner handle gone)
***********************************************************************************
WARNING: All e-mail sent to and from this address will be received or
otherwise recorded by the A.G. Edwards corporate e-mail system and is
subject to archival, monitoring or review by, and/or disclosure to,
someone other than the recipient.
************************************************************************************