Announcement

Collapse
No announcement yet.

Oracle - PHP4

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Oracle - PHP4

    PHP3-OCI Anbindung an Oracle8-DB arbeitet problemlos :
    " $conn=OCIlogon($user_name,$user_pwd,$user_tns) "

    Unter PHP4 erhalte ich in identischer Umgebung die Meldung :
    "Warning: _oci_open_server: ORA-12154: TNSer Servicename konnte nicht aufgelöst werden."

    Diverse Versuche wie "putenv(ORACLE_SID=...)" sind fehlgeschlagen.

    Any Ideas ?

  • #2
    Nutzt der vielleicht die lokale Benennung? Test mal bitte ORACLE/network/admin/tnsnames.ora, ob dort der Aliasname zur Verbindung angeben wurde.

    Ansonsten versuch mal folgendes als Connect-String im PHP:

    (description=(address=(host=YOURHOST)(protocol=tcp )(port=YOURPORT))(connect_data=(service_name=YOURS ERVICENAMEoder sid=YOURSID)(server=shared oder server=dedicated)))

    Bsp.:

    (description=(address=(host=YOURHOST)(protocol=tcp )(port=YOURPORT))(connect_data=(service_name=YOURS ERVICENAME)(server=shared))

    Comment


    • #3
      Danke für die prompte Reaktion.

      Eigentlich hatte ich die direkte Eingabe des Connect-String schon mal getestet, aber wegen eines Fehlers verworfen. Ich hab's nochmal versucht ...und es funktioniert.

      Vielen Dank

      Comment


      • #4
        Hallo,

        Ich wäre sehr denkbar wenn du mir sagst wie du auf Oracle zugreifst,
        Ich bekomme die Fehlermeldung "PHP Strtup: Unload to load dynamic Library 'C:/---/php_oci8.dll'-Die angegeben Prozedur wurde nich gefunden."
        Mysql und Oracle Datenbanken laufen ohne Problem.
        Ich vermute dass ich in der Konfig datei von der Apache was ändern muss... aber WAS??

        bis den

        Comment


        • #5
          Hallo,

          zuerst muß auf deinem Webserver ein ORACLE-Client mit OCI Unterstützung (sollte aber Standardmäßig sein) installiert werden.
          Für diesen Client mußt du die zugreifbaren Datenbanken in der TNSNAMES.ora konfigurieren.
          In der Apacheumgebung sollte dann auf alle Fälle der Wert für ORACLE_HOME und evtl auch für NLS_LANG und NLS_PREV_LANG gesetzt werden.

          Je nachdem ob dein Webserver vor oder hinter einer Firewall steht, müßen natürlich noch die Ports für den DB-Zugriff freigemacht werden. Steht die Firewall zwischen Webserver und DB, dann muß auf dem DB-Server zusätzlich der Connectionmanager (CMAN) von Oracle konfiguriert werden und der Client auf dem Webserver muß entsprechend auf den CMAN zugreifen, statt auf den "normalen" Listener.

          Gruß Fal
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #6
            Danke schon Falk

            Comment

            Working...
            X