Silvio, Does the query you included in you 'xxx.log' work when connected in SQL*Plus as 'scott'? Are all of your ORA environment variables set correctly (ORA_NLS33, etc.)? Also, did you try stepping through the code into the tables() function to try and trap the real error number? I'm not sure about the "OK-ness" of resetting DBI::errstr after get_info(); maybe one of the DBI developers can shed some light.
I have seen similar behavior with DBD::Oracle built for 10.1.0 and running against 8.1.7.3.0 (actually, not just DBD::Oracle, but SQL*Plus as well). ----------------- Ron Reidy Senior DBA Array BioPharma, Inc. -----Original Message----- From: Silvio Wanka [mailto:[EMAIL PROTECTED] Sent: Monday, June 07, 2004 6:34 AM To: [EMAIL PROTECTED] Subject: ORA-65285 by $dbh->tables if DBD::Oracle build with 8.1.7 and server is 7.3.4 Hi, I have a problem with the following code: my $dbh = DBI->connect ("dbi:Oracle:$db", $user, $password) ; die "Cannot connect to $db ($DBI::errstr)" unless defined $dbh; my @lst = $dbh->tables(); die "Cannot list database tables ($DBI::errstr)" unless @lst > 0; printf "%u\n", scalar @lst; exit 0; If DBD::Oracle is build with Oracle 8.0.6 it works with Oracle Server of Version 7.3.4, 8.0.6 and 8.1.7. But if DBD::Oracle is build with Oracle 8.1.7 it works only with the 8.0.6 and 8.1.7. Using a 7.3.4 Server it returns a empty list and prints a ORA-65285 error message (see attachment). If I try the SQL statement build by $dbh->table_info() on the same 7.3.4 database using the 8.1.7 sqlplus it works. BTW DBI::errstr will be lost in tables(). After fetchall_arrayref() it is set but after $dbh->get_info(29) it is empty. Is this OK? regards, Silvio This electronic message transmission is a PRIVATE communication which contains information which may be confidential or privileged. The information is intended to be for the use of the individual or entity named above. If you are not the intended recipient, please be aware that any disclosure, copying, distribution or use of the contents of this information is prohibited. Please notify the sender of the delivery error by replying to this message, or notify us by telephone (877-633-2436, ext. 0), and then delete it from your system.
