Hi,

A Solaris system that I have little control over is running Perl 5.005_03,
and a DBI_TRACE level 2 shows DBI v1.13 and DBD::Oracle v1.03.  The Oracle
client on the Solaris server is 8.0.5.0.0.  The Oracle DB we're connecting
to is 8.1.7.4.0 on HP/UX.

After changing the 8.1.7 DB's characterset from US7ASCII to WE8ISO8859P1,
I've been receiving constant "ORA-1017, invalid username/password" errors on
the DB's audit trail.  Amazingly, no users complained.  After a
support-level network trace, it appears that simple connect statements like
this one:

$dbh = DBI->connect("dbi:Oracle:MYSID","myuser","mypass");

....fail with the ORA-1017, but then automatically retry the connection and
succeed without reporting the error.  All other Oracle Client tools on this
Solaris machine, like SQL*Plus, work as normal.  The DBI/DBD::Oracle error
occurs over several Perl scripts for various applications.

The trace also showed something I haven't seen before -- the password on the
second try (the successful one) was sent unencrypted.

Is this a documented problem in the somewhat dated versions of DBI and/or
DBD::Oracle?  Is there a documented fix?  I can't ask to upgrade any of this
without evidence that the upgrade will fix the problem.

BTW, I've attempted to match the NLS_LANG on the client by setting it to
AMERICAN_AMERICA.WE8ISO8859P1. But while SQL*Plus works fine with this,
DBI/DBD::Oracle doesn't:

DBI->connect failed: ORA-12705: invalid or unknown NLS parameter value
specified (DBD: login failed) at ./cursor_sharing_yes.pl line 17
Can't call method "prepare" on an undefined value at ./cursor_sharing_yes.pl
line 32.

I've looked thru the archives, but only found similar questions without
answers.  This is also a cross-post of sorts from the ORACLE-L list.

TIA!

Rich Jesse                           System/Database Administrator
[EMAIL PROTECTED]              Quad/Tech International, Sussex, WI USA

Reply via email to