Hallo!
man hat mir die Aufgabe gestellt mit PHP auf eine externe Oracle DB zu zugreifen.
OK, dann wären die erste Anlaufpunkte evtl:
PHP Developer Center von Oracle (OTN)
http://www.oracle.com/technology/tech/php/index.html
Auf der Seite findest Du sehr viele Artikel die Dir helfen sollten.
Und der Abschnitt des PHP-Manuals über die OCI8 Extension:
http://de3.php.net/manual/en/ref.oci8.php (englisch Version ist aktueller!)
Und wenn Du einer schönere (und nebenbei Datenbankunabhängige) API möchtest, würde ich PHP Data Objects (PDO) empfehlen:
http://de3.php.net/pdo
http://www.oracle.com/technology/pub/articles/php_experts/otn_pdo_oracle5.html
http://wiki.cc/php/PDO
Allerdings scheint es im Moment nur die DLLs für PHP 5.1 zu geben (und darin sind sie ja sowieso enthalten):
http://pecl4win.php.net/ext.php/php_pdo.dll
http://pecl4win.php.net/ext.php/php_pdo_oci.dll
Auf Linux/Unix funktioniert das auch mit PHP 5.0.
Aber ich weiß schon mal das in der php.ini die extension für php_oci8.dll und php_oracle.dll eingetragen werden müßen.
Nein, entweder die neue php_oci8.dll oder die veraltete php_oracle.dll. Letztere wird in neusten PHP-Versionen schon gar nicht mehr mitgeliefert.
Eine Alternative zu diesen PHP-Extensions wäre die neue Standard DB-Abstraktions PDO (hierfür bräuchtest Du php_pdo.dll und php_pdo_oci.dll). Die ist ab PHP 5.1 auch in der PHP-Distribution enthalten.
Hier mal die Plattformen:
WIN 2000 Advanced WebServer IIS
PHP 4.2.2
Die PHP-Version ist schon sehr alt (>3 Jahre) und enthält zahlreiche Sicherheitslücken. PDO kannst Du damit natürlich nicht nutzen.
$ora_conn = ora_logon("databaseName@service","pass");
Was ist @service? Ein Eintrag in ..system32\drivers\etc\services? Wenn nicht, wie sage ich PHP wo die Oracle DB zu finden ist?Wo wird den hier im Verbindungsstring das Login mitgegeben?
Wie gesagt, die Oracle Extension mit den ora_* Funktionen (php_oracle.dll) ist veraltet und sollte nicht mehr verwendet werden. Abgesehen davon funktioniert diese Extension mit neueren Oracle-Versionen schon gar nicht mehr. Verwende stattdessen die OCI8 Extension, wie oben verlinkt.
Dann lies Dir die Beschreibung im Manual (englische Variante!) durch, da steht schon einiges wie man das einrichtet, und sonst helfen Dir die OTN-Artikel, -FAQ... (wie ganz oben verlinkt).
Grüße
Andreas
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/