Problem: Anbindung einer Oracle 8 Datenbank and Xampp Webserver.
(Zugriff auf Oracle Datenbank funktioniert mit SQLPlus und Co. Problemlos)
Bei der Anbindung an meinen Xampp-Webserver bin ich auf einige Probleme Gestossen.
Ich bin fogendermassen vorgegangen:
1. php.ini
==========
Kommentarzeichen ; vor php_oci8.dll entfernt
2. Apache-Webserver neu gestartet -> Fehlermeldung:
===================================================
Der Prozedureinstiegspunkt "OCIEnvNlsCreate" wurde in der DLL "OCI.dll" nicht gefunden.
Lösungsversuch:
---------------
OCI.dll aus einem Oracle 10g Instantclient in Webserver\Apache\Bin-Verzeichnis kopiert.
=> Keine Fehlermeldung mehr beim Start des Apacheservers. OCI8 taucht nun auch in phpinfo() auf.
3. Umgebungsvariablen
=====================
Soweit bekannt in Testscript (siehe Punkt 4) gesetzt.
ORACLE_HOME - Verzeichnis der Datenbank
ORACLE_SID - SID der Datenbank
LD_PRELOAD - ???
LD_LIBRARY_PATH - ???
NLS_LANG - Sprache GERMAN_GERMANY.WE8ISO8859P1
ORA_NLS33 - ???
4.Testscript:
=============
<?php
PutEnv("TNS_ADMIN=c:\\oracle\\net80\\admin");
PutEnv("ORACLE_SID = oracle");
PutEnv("ORACLE_HOME = C:\\ora81");
PutEnv("NLS_LANG = GERMAN_GERMANY.WE8ISO8859P1");
PutEnv("ORA_NLS33 = c:\\ora81\\ocommon\\nls\\admin\\data");
$connection = OCILogon("User", "Passwort", "TNS Eintrag der Datenbank");
if (!$connection) {
echo "Datenbankverbindung nicht möglich";
exit;
}
?>
Ergebnis:
---------
Warning: ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in C:\webserver\xampp\htdocs\oracle\index.php on line 9
Datenbankverbindung nicht möglich.
5. DLLs
=======
Restliche DLLs aus dem Oracle Instant Client in das Verzeichnis Webserver\Apache\Bin-Verzeichnis kopiert.
Ergebnis des obigen Testscripts:
--------------------------------
Warning: ocilogon() [function.ocilogon]: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist in C:\webserver\xampp\htdocs\oracle\index.php on line 9
Datenbankverbindung nicht möglich.
Ich hoffe das mir hier jemand weiterhelfen kann.
Vielen Dank schonmal im Vorraus
Martin
(Zugriff auf Oracle Datenbank funktioniert mit SQLPlus und Co. Problemlos)
Bei der Anbindung an meinen Xampp-Webserver bin ich auf einige Probleme Gestossen.
Ich bin fogendermassen vorgegangen:
1. php.ini
==========
Kommentarzeichen ; vor php_oci8.dll entfernt
2. Apache-Webserver neu gestartet -> Fehlermeldung:
===================================================
Der Prozedureinstiegspunkt "OCIEnvNlsCreate" wurde in der DLL "OCI.dll" nicht gefunden.
Lösungsversuch:
---------------
OCI.dll aus einem Oracle 10g Instantclient in Webserver\Apache\Bin-Verzeichnis kopiert.
=> Keine Fehlermeldung mehr beim Start des Apacheservers. OCI8 taucht nun auch in phpinfo() auf.
3. Umgebungsvariablen
=====================
Soweit bekannt in Testscript (siehe Punkt 4) gesetzt.
ORACLE_HOME - Verzeichnis der Datenbank
ORACLE_SID - SID der Datenbank
LD_PRELOAD - ???
LD_LIBRARY_PATH - ???
NLS_LANG - Sprache GERMAN_GERMANY.WE8ISO8859P1
ORA_NLS33 - ???
4.Testscript:
=============
<?php
PutEnv("TNS_ADMIN=c:\\oracle\\net80\\admin");
PutEnv("ORACLE_SID = oracle");
PutEnv("ORACLE_HOME = C:\\ora81");
PutEnv("NLS_LANG = GERMAN_GERMANY.WE8ISO8859P1");
PutEnv("ORA_NLS33 = c:\\ora81\\ocommon\\nls\\admin\\data");
$connection = OCILogon("User", "Passwort", "TNS Eintrag der Datenbank");
if (!$connection) {
echo "Datenbankverbindung nicht möglich";
exit;
}
?>
Ergebnis:
---------
Warning: ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in C:\webserver\xampp\htdocs\oracle\index.php on line 9
Datenbankverbindung nicht möglich.
5. DLLs
=======
Restliche DLLs aus dem Oracle Instant Client in das Verzeichnis Webserver\Apache\Bin-Verzeichnis kopiert.
Ergebnis des obigen Testscripts:
--------------------------------
Warning: ocilogon() [function.ocilogon]: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist in C:\webserver\xampp\htdocs\oracle\index.php on line 9
Datenbankverbindung nicht möglich.
Ich hoffe das mir hier jemand weiterhelfen kann.
Vielen Dank schonmal im Vorraus
Martin
Kommentar