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