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.

Reply via email to