DBD-Oracle Connection Problem
DBD-Oracle Connection Problem
am 13.09.2007 02:46:56 von doresky
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/y@db
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
doresky@verizon.net
Re: DBD-Oracle Connection Problem
am 13.09.2007 13:01:41 von scoles
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_trouble shooting_faq.html
which may help you.
cheers
----- Original Message -----
From: "Darrell Oresky"
To:
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/y@db
>
> 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
> doresky@verizon.net
>
>
>
Re: DBD-Oracle Connection Problem
am 14.09.2007 04:54:41 von doresky
When I did a tnsping today, I noticed that the connect method used was
EZCONNECT,
not TNSNAMES. Both are specified in my sqlnet.ora file.
If I remove EZCONNECT, my connect attempt just hangs.
If I remove the sqlnet.ora file, my program core dumps.
Interestingly enough, on another set of machines, my remote connect works
just fine without any sqlnet.ora file.
Darrell Oresky
doresky@verizon.net
John Scoles wrote:
> 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_trouble shooting_faq.html
>
>
> which may help you.
>
> cheers
> ----- Original Message ----- From: "Darrell Oresky"
> To:
> 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/y@db
>>
>> 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
>> doresky@verizon.net
>>
>>
>>
>
>