Florian M.: mit PHP ein Verbindung zu Oracle herstellen

Moin,

folgende IST-Situation:
1 Oracle-Server NT (Version: 8.0.5)

1 Intranet-Server Linux-Debian mit installiertem Oracle Client.
(8.1.7)
ich möchte vom Intranet-Server auf die Oracle Datenbank vom
NT Server zugreifen.

Dies ist mein erster Versuch einen Zugriffe auf Oracle zu
realisieren.

PHP-Datei:
#!/usr/bin/php4
<?php
$hostname = 'oracle.firma.de';
$sid = 'orcl';
$user = 'test';
$passwd = 'xxx';

$conn = ocilogon($user, $passwd, $sid, $hostname);
if ($conn == false) {
  echo ocierror($conn);
  exit;
  }

ocilogoff($conn);
?>

Fehlermeldung:
Fatal error: Call to undefined function: ocilogon() in /usr/lib/cgi-bin/problem/oracle.php on line 7

Der Oracle-Client befindet sich: /home/oracle
Muss ich einen Verweis auf irgendetwas setzen, das in diesem
Verzeichnis liegt?

Wer kann mir weiterhelfen? Möchte wie gesagt "nur" eine Verbindung
zum Oracle-Server herstellen.
Bin ich ansatzweise auf dem richtigen Weg dazu?

Über Hilfe würde ich mich freuen.

Florian

  1. Hallo!

    PHP-Datei:
    #!/usr/bin/php4
    <?php
    $hostname = 'oracle.firma.de';
    $sid = 'orcl';
    $user = 'test';
    $passwd = 'xxx';

    $conn = ocilogon($user, $passwd, $sid, $hostname);
    if ($conn == false) {
      echo ocierror($conn);
      exit;
      }

    ocilogoff($conn);
    ?>

    Fehlermeldung:
    Fatal error: Call to undefined function: ocilogon() in /usr/lib/cgi-bin/problem/oracle.php on line 7

    Du kannst die oracle Funktionen vermutlich nur nutzen wenn PHP auch entsprechend mit oracle-support konfiguriert wurde. Wurde es das?

    Nachzulesen in einer Datei mit dem Inhalt

    <?php
    phpinfo();
    ?>

    Wenn da nirgendwo was von oracle steht liegt es vermutlich daran.

    Einige Hinweise findest Du auch in http://www.php3.de/manual/de/ref.oci8.php, und auch in den Kommentaren dort.
    Und guck auch mal in http://www.dclp-faq.de/ch/ch-database_oracle.html, da steht auch einiges zu dem Thema.

    Der Oracle-Client befindet sich: /home/oracle
    Muss ich einen Verweis auf irgendetwas setzen, das in diesem
    Verzeichnis liegt?

    Ja, und zwar beim konfigurieren von php, halt mit --with-oci8, evtl. mit Pfadangabe. Genaueres steht in INSTALL, oder ./configure --help und http://www.php3.de/manual/de/install.apache.php.

    Wer kann mir weiterhelfen? Möchte wie gesagt "nur" eine Verbindung
    zum Oracle-Server herstellen.

    Vielleicht geht es auch über odbc?

    Grüße
    Andreas

    1. Hallo Andreas,

      Danke für Deine schnelle Antwort.

      Du kannst die oracle Funktionen vermutlich nur nutzen wenn PHP auch entsprechend mit oracle-support konfiguriert wurde. Wurde es das?

      Nachzulesen in einer Datei mit dem Inhalt

      <?php
      phpinfo();
      ?>

      Habe ich gemacht: (PHP-Version->4.1.2 und da steht nirgendwo
      etwas von oracle.

      Vielleicht geht es auch über odbc?

      Habe noch nichts über odbc realisiert. Kann den Aufwand nicht
      abschätzen. Was wäre besser?
      Beispiel wäre super

      Danke nochmal

      Florian