Oracle Datenbank Connect

AJAX Lauch

Mitglied
Hi,

Ich hab n kleines Problem mit meinem Oracle Datenbank Connect in php.

Ich bekomm diese Fehlermeldung:
"Fatal error: Call to undefined function oci_connect() in..."

Hier mal mein Connect:

$ORA_DB_ACCOUNT = "user";
$ORA_DB_PWD = "passwort";
$ORA_DB_SERVER = "servername";
$conn = oci_connect($ORA_DB_ACCOUNT,$ORA_DB_PWD,$ORA_DB_SERVER);

Brauch ich vielleicht den Datenbanknamen und nicht den servernamen als letzten parameter?

Grüße Julian
 
Die Fehlermeldung klingt stark nach einer fehlenden Oracle Unterstützung in php.
Es wird die Funktion oci_connect nicht erkannt. Die Argumente der Funktion sind an der Stelle noch egal.

Schau mit phpinfo() mal nach, ob die oracle Unterstützung aktiviert ist. Je nach Distribution, bzw. deiner Installation, kannst du diese mit dem Paketmanager nachinstallieren, oder musst php neu kompilieren.

Gruss
olqs
 
Das sieht mehr nach einem Konfigurationsproblem von PHP aus. Sind die OCI8 Extensions aktiviert ? Das kannst du leicht über die phpinfo(); Funktion prüfen.
Wenn nicht php.ini anpassen und den Webserver neu starten.

Wenn du explizit PHP und Oracle verwenden willst, würde ich die den Zend Core for Oracle ans Herz legen, feine Sache...
http://www.zend.com/de/products/core/for-oracle
 
Der Servername funktioniert sicher nicht. Die PHP Doku sagt zu dem Parameter folgendes:

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.


d.h. wenn deine Datenbank lokal läuft, also mit dem Webserver zusammen kannst du den Parameter weglassen, sofern die Umgebungsvariable ORACLE_SID gesetzt ist. Ansonsten muss hier der Alias rein, der in der NET8 (Tnsnames.ora, ...) konfiguriert ist.
Durch diesen Alias wird dann der eigentliche Server, Port und Service aufgelöst.

Ob die Datenbank mit dem Alias von deinem Webserver aus erreichbar ist kannst du mit dem TNSPING Utility prüfen.

tnsping <ALIAS>
 
Zurück