Hello chris,
I've modified the variables in the apache user environment (in my case root at the moment) but that didn't amke any difference to php not being able to find tnsnames.ora. So the work around I've used is to use ORACLE_SID="desciption(...etc..... SID = )))"; ie the full description of the database alias within tnsnames.ora
However this is not good, so if you have any other idea please let me know. I'm flumuxed.
thanks,
neil
>From: Christopher Jones <christopher.jones@xxxxxxxxxx>
>To: neil smith <neil989@xxxxxxxxxxx>
>CC: php-db@xxxxxxxxxxxxx, n.a.smith@xxxxxxxxx
>Subject: Re: php4 can't find tnsnames.ora oracle9 but can connectif description hardcoded
>Date: Wed, 20 Apr 2005 09:25:12 +1000
>
>Make sure the environment variables are set in the shell that starts
>Apache. See
>http://www.oracle.com/technology/tech/opensource/php/php_troubleshooting_faq.html#envvars
>
>Try changing your OCILogon command to
>
> $odbc = OCILogon("yourusername","yourpassword",$db);
>
>i.e. remove "/test" from the username parameter.
>
>Chris
>
>neil smith wrote:
>>Hello,
>>
>>I have test script that can connect to the oracle database. It
>>doesn't
>>require tnsnames.ora because I define the database alias in the
>>script
>>itself. It looks like this:
>>
>>
>>
>>echo "TWO_TASK=".getenv("TWO_TASK")."<br>";
>>echo "LD_LIBRARY_PATH=".getenv("LD_LIBRARY_PATH")."<br>";
>>echo "ORACLE_BASE=".getenv("ORACLE_BASE")."<BR>";
>>echo "ORACLE_HOME=".getenv("ORACLE_HOME")."<BR>";
>>echo "TNS_ADMIN=".getenv("TNS_ADMIN")."<BR>";
>>echo "NLS_LANG=".getenv("NLS_LANG").".<br>";
>>
>># this allows a successful connection
>>
>>$db = " (DESCRIPTION =
>> (ADDRESS = (PROTOCOL = TCP) (HOST =testdb.boo.com)(PORT = 1521))
>> (CONNECT_DATA= (SID = testdb))
>> )";
>>
>>// these don't work.. php can't seem to find tnsnames.ora
>># $db = "testdb.boo.com";
>>//$db = "testdb.boo.com";
>># $db = "testdb";
>>//echo $testdb;
>>
>>
>>$odbc = OCILogon("test/test","test",$db);
>>
>>if ($odbc == false){
>> $msg = OCIError($odbc)."<BR>";
>>} else {
>>echo "success!!!<br>";
>>}
>>
>>
>>
>>My problem is is that when I try to use the database alias in
>>tnsnames.ora I
>>get an ora-12154 error. I get this despite the facts that
>>oracle_home,
>>tns_admin and everything else is defined in the script and the
>>tnsnames.ora
>>contains exactly the same alias as I use in the hardcoded version
>>(see the
>>uncommented $db above).
>>sqlnet.ora contains a value name_domain that apparently is appended
>>to the
>>alias in tnsnames.ora but accounting for this still doesn't let me
>>connect
>>to oracle . It's as if tnsnames.ora cannot be found. I've changed
>>the
>>permissions to 777 for the whole directory structure and I can
>>successfully
>>use tnsnames.ora with sqlplus or tnsping.
>>
>>Does anybody have any ideas what is going wrong? Is this a bug?
>>
>>thanks,
>>
>>neil
>>
>
>
>--
>Christopher Jones, Oracle Corporation, Australia.
>Email: Christopher.Jones@xxxxxxxxxx Tel: +61 3 8616 3622
>
>--
>PHP Database Mailing List (http://www.php.net/)
>To unsubscribe, visit: http://www.php.net/unsub.php
>
-- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php