Oracle 8.0.6 mit PHP 5.3.0

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

  • Oracle 8.0.6 mit PHP 5.3.0

    Hallo zusammen,

    mittlerweile bin ich ziemlich verzweifelt! Fuer ein Projekt im Fachpraktikum muss ich eine Oracle Datenbank mit PHP verwenden. Die letzten Monate habe ich am Testserver gearbeitet mit der Oracle Version 10g. Nun, beim Umstieg auf das richtige System habe ich festgestellt, dass es sich um eine Oracle Datenbank der Version 8 handelt - es wurde schlicht vergessen, mir das mitzuteilen! Ist aber ein anderes Thema.

    Seis drum, ich habe jetzt seit einer geschlagenen Woche probiert, die Verbindung zum Laufen zu kriegen, bin jeglichen Google Eintraegen gefolgt, habe hunderte von DLLs probiert und bin nun voellig am Ende mit meinem Latein. Hier mal wie weit ich jeweils gekommen bin:

    OCI: Es scheint, als wuerden sich Oracle 8 und PHP 5.3 beissen. Wenn ich PHP mit der entsprechenden DLL starte kommt die Fehlermeldung: "The procedure entry point OCIStmtPrepare2 could not be located in the dynamic link library OCI.dll". Es scheint also, als wuerde die php_oci8.dll, die die OCI Verbindung zur Verfuegung stellt, eine Prozedur aufrufen, die in der Oracle DLL (noch) nicht vorhanden ist.

    ODBC: Ich habe es nicht geschafft, einen Oracle8 ODBC Treiber zu installieren. Ich schaetze mal das ist fast nicht moeglich, da es sich bei dem System um Win Server 2003 handelt und der Treiber vermutlich ueber zehn Jahre alt ist.

    Wie gesagt, ich bin voellig am Ende und weiss nicht mehr was ich machen soll. Das ganze Projekt haengt von der Verbindung ab. (Dass es sowieso voelliger Schwachsinn ist mit einem solchen alten System zu arbeiten und es auch nicht mein Fehler ist, dass mir niemand von der anderen Version erzaehlt hat ist klar... aber so sind die Rahmenbedingungen.) Ich bin dankbar fuer jeden Hinweis, der helfen koennte, die Verbindung aufzubauen!!

    Danke schonmal!

    P.S. Die Daten in eine andere Datenbank zu kopieren laesst der Systemadmin aus Sicherheitsgruenden nicht zu.

  • #2
    Hallo,

    kannst du eventuell eine ältere PHP-Version verwenden? Ansonsten hab ich das hier gefunden, weiß aber nicht, ob du das schon gelesen hast: OTN Discussion Forums : procedure entry point ...

    Die sagen dort, dass du eventuell deine %PATH%-Variable ändern musst.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Comment


    • #3
      Danke fuer die schnelle Antwort!
      Die Path Variable ist auf jeden Fall richtig gesetzt und ich kann damit lenken, welche DLL geladen werden soll. Das ist also nicht das Problem.
      Auf die Zend DLL wird oefter mal verwiesen, allerdings ist der Link down und ich habe sie merkwuerdigerweise auch nirgendwo anders im Netz gefunden.
      An eine aeltere PHP Version habe ich auch schon gedacht, wollte ich aber vermeiden. Werde es aber trotzdem mal probieren.

      Comment


      • #4
        Also alt ist der ODBC-Treiber überhaupt nicht - gerade mal zwei Monate. Der läuft auch auf Win 2003 und sollte auch für alle Oracle-Versionen gelten, da in den System Requirements keinerlei Angaben über die unterstützten Versionen gemacht werden.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Comment


        • #5
          Nochmal danke! Habe den Treiber gleich ausprobiert, er laesst sich einwandfrei installieren, aber beim Verbindungsversuch kommt folgende Fehlermeldung:

          FAILED: Service Connection test
          rc=-1
          SQLState=08S01
          [Oracle][ODBC][Rdb] Connect ret -1 Err#10061 WSAECONNREFUSED Connection refused

          Eine kurze Recherche im Internet hat keine Ergebnisse dazu geliefert. Dazu muss ich aber auch sagen, dass hier einiges geblockt ist (China...)

          Comment


          • #6
            Hast du die ODBC-Verbindung richtig konfiguriert? Mit Zugangsdaten u. s. w?
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Comment


            • #7
              Ja, die Zugangsdaten sind sicher richtig. Theoretisch muesste ich ja so auch auf den Version 10 Server zugreifen koennen - das klappt auch nicht. Im uebrigen kriege ich die selbe Fehlermeldung wenn ich eine beliebige andere IP eingebe...
              Muss denn bei der DB speziell angegeben werden, dass auch ODBC Verbindungen zugelassen sind? Oder regelt der Treiber das?
              Was bedeutet eigentlich der Zusatz RDB im Treibernamen?

              Zur anderen PHP Version: Habe nun ein paar Versionen ausprobiert. Ich glaube nicht, dass das eine wirkliche Alternative ist: Weder Oracle noch die andere Datenbank funktionieren hier und die Scripte spucken jede Menge Fehlermeldungen aus.

              Comment


              • #8
                Hast du es als Benutzer-DSN oder System-DSN angelegt? Wie sieht dessen Konfiguration aus? Wie sieht dein Connection-String aus?

                Ohne diese Infos kommen wir nicht weiter. Konkrete Passwörter interessieren dabei natürlich nicht, aber der ganze Rest. Der Fehler sagt, dass die Verbindung abgewiesen wird, was auf ein falsches Login schließen lässt.
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Comment


                • #9
                  Sorry, haette gleich mehr schreiben sollen. Ich habs sowohl mit User DSN als auch System DSN probiert.
                  Das "Connection refused" ist meiner Meinung nach irrefuehrend - wie gesagt, bei einer beliebigen anderen IP kommt die gleiche Fehlermeldung. Ich schaetze eher, dass er garnicht erst zum Server verbinden kann aus welchen Gruenden auch immer.
                  Habe auch schon mit allen moeglichen Einstellungen rumgespielt, bringt alles nix.
                  Hier ein Screenshot zu den Einstellungen:

                  Comment


                  • #10
                    Mh, dann weiß ich auch nicht weiter.

                    Trotzdem noch viel Erfolg!

                    晚安。

                    Amica
                    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                    Super, danke!
                    [/COLOR]

                    Comment


                    • #11
                      hast du schon mal versucht mit was anderem den server zu connecten??? z.b. über eine andere db meinetwegen auch mit access ???

                      das andere IPs den connect ablehnen ist nur logisch, da wird kein oracle drauf laufen.

                      vielleicht mal checken, ob überhaupt eine connect zum server möglich ist, was sagt der admin ???
                      fotos :

                      http://www.flickr.com/photos/rassloff/collections/

                      Comment


                      • #12
                        Du schreibst nur das es Win Server 2003 Server ist aber nicht ob es eine 32 Bit oder 64 Bit ist

                        Bei der 64 Bit gibt es eine Besonnenheit wen du ein 32 Bit Treiber verwandtest dann musst du ihn auch die 32Bit-ODBC-Konsole verwarnten
                        die musst manuell aufrufen

                        Dazu benutzen Sie folgenden Aufruf im Ausführen Dialog von Windows:
                        c:\windows\SysWOW64\odbcad32.exe

                        Dort können dann 32Bit-DSN mit Hilfe der 32Bit-ODBC-Treiber angelegt werden.

                        ich wurde es nicht über ODBC machen sondern mit pdo da kann man fast alle Datenbanken ansprechen PHP: Oracle (PDO) - Manual

                        Comment


                        • #13
                          Originally posted by Kistler28 View Post
                          ich wurde es nicht über ODBC machen sondern mit pdo da kann man fast alle Datenbanken ansprechen PHP: Oracle (PDO) - Manual
                          Prinzipiell bin ich auch für PDO, aber nicht in diesem Fall:

                          Originally posted by http://php.net/manual/de/ref.pdo-oci.php
                          Diese Erweiterung ist EXPERIMENTELL. Das Verhalten dieser Erweiterung, einschließlich der Funktionsnamen, und alles Andere, was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Erweiterung auf eigenes Risiko.
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Comment


                          • #14
                            Hallo,

                            nur der Vollständigkeit halber: Ich hab es leider nicht mehr geschafft, die Verbindung zum Laufen zu kriegen. Die Datenbank wird in wenigen Monaten sowieso auf Version 10g umgestellt und bis dahin wird das Programm im "Testmodus" laufen.

                            Trotzdem danke für eure Mühen!

                            Daniel

                            Comment

                            Working...
                            X