Hate to say this but if you can connect in any manner it is not really a DBD::Oracle problem.

It is an Oracle problem of some sort. Unfortunetly this sort of problem (can be a real bugger to pin down. It could be anything from the way you have your listener setup to the way your TNSnames.ora file entry is made up?

     ORA-12154
is a common bugbeart of all Oracle DBAs.

did find this link for php
http://www.oracle.com/technology/tech/php/htdocs/php_troubleshooting_faq.html

which may help you.

cheers
----- Original Message ----- From: "Darrell Oresky" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, September 12, 2007 8:46 PM
Subject: DBD-Oracle Connection Problem


I am having a problem using DBD-Oracle.

Basic problem - I can only get a connect to work when I fully
specify the connect string, i.e.

"dbi:oracle:host=xxx;port=yyy;sid='zzz' ....

Environment:

Remote connection

Server side - Solaris 9, Oracle 9.2.0.4.0

Client side - Solaris 10 i86pc, Oracle Client 10.2.0.1.0
Perl 5.8.4 (as came installed with Solaris)
DBI 1.58
DBD-Oracle 1.19

SQLPlus works. With no TWO_TASK, and TNS_ADMIN set,

sqlplus x/[EMAIL PROTECTED]

works, demonstrating it is finding and using tnsnames.ora.

From a simple Perl program in the same shell, any format of the connect other than
a fully specified connect string results in a ORA-12154 message.

Since SQLPlus is resolving the database name, this seems to imply
the program can not find tnsnames.ora?

Checked the environment in the shell the Perl program runs from - properly set.
Printed environment variables inside the Perl script - properly set.
tnsnames.ora permissions, and all directories, set to 777.
sqlnet.ora specifies TNSNAMES as a connect method.

Turned on DBI trace to level 15. Only interesting message is:

OCIServerAttach (some#, some#, "dbname", 5, 0)
and then ORA-12154 follows.

Any ideas?

Darrell Oresky
[EMAIL PROTECTED]




Reply via email to