Florian Müller: ocilogon(): _oci_open_server: [Oracle + PHP + Linux]

Beitrag lesen

Hallo,

vorab mein System:
------------------------
BS: Gentoo Linux
DB: Oracle 9.2.0 + PatchSet 4
PHP: PHP 4.3.4 R4
Apache: 2.0.49

Wenn ich folgendes Script (test.php) ausführe:
------------------------------------------
(zum Test ob die Umgebungsvariablen gesetzt sind lasse ich sie ausgeben)
echo getenv("ORACLE_SID") . "<br>";
echo getenv("ORACLE_BASE") . "<br>";
echo getenv("ORACLE_HOME") . "<br>";
echo getenv("ORA_NLS33") . "<br>";
echo getenv("TNS_ADMIN") . "<br>";

$user = "test";
$pass = "geheim";
$db = "ORCL";

$con = OCILogon($user,$pass,$db) or die ("Keine Verbindung");
$sql = "Select * From BEARBEITER";
$result = OCIParse($con,$sql) or die ("No parsing");
OCIExecute($result) or die ("No execution");

while (OCIFetch($result)) {
$bearbeiter = OCIResult($result,"BEARBEITER");
echo $bearbeiter . "<br>";
}
OCIFreeStatement($result);
OCILogoff($con);

erscheint folgende Fehlermeldung:
---------------------------------------
ORCL
/oracle/ora
/oracle/ora/9.2.0
/oracle/ora/9.2.0/ocommon/nls/admin/data
/oracle/ora/9.2.0/network/admin/tnsnames.ora

Warning: ocilogon(): _oci_open_server: Error while trying to retrieve text for error ORA-12154 in /www/test.php on line 36
Keine Verbindung

Zeile 36 ist =>
$con = OCILogon($user,$pass,$db) or die ("Keine Verbindung");

Wenn ich das selbe Script auf der Konsole ausführe:
php test.php
kommt die gewünschte Ausgabe korrekt bzw. werden alle Bearbeiter aufgeführt.

Bin etwas ratlos .... kann mir jemand einen Tipp geben.

Danke schoneinmal im Voraus.

Gruss
Florian