Announcement

Collapse
No announcement yet.

Problem mit der Verbindung mit Oracle 9i

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

  • Problem mit der Verbindung mit Oracle 9i

    Moin, moin!

    Seit Kurzem beschäftige ich mich mit dem Aufbau einer Verbindung zur Oracle 9i. Auf einem Rechner läuft Oracle-Datenbank. Auf einem anderen habe ich Oracle-Client installiert und konfiguriert. Die Verbindung zwischen Client und Server habe ich mit „Net Manager“ und „Net Configuration Assistant“ getestet -> funktioniert. Danach habe ich eine ODBC-Schnittstelle konfiguriert und getestet -> funktioniert. Also es scheint alles in Ordnung zu sein.

    Auf dem Client habe ich eine ganz einfache (um nicht zu sagen „triviale“) Applikation in C++ Builder geschrieben. Sie beinhaltet eine Form mit ADOConnection, ADOTable, DataSource und DBGrid. Alle Komponenten habe ich konfiguriert und miteinander verbunden. Nachdem ich „ADOConnection->Connected und „ADOTable->Active“ auf „true“ gesetzt habe, wurde der BDGrid mit Daten aus einer Oracle-Tabelle aufgefüllt. „Alles gut“ dachte ich mir.

    Nachdem ich die Applikation kompilierte und startete, wurde ich aufgefordert mich bei der Oracle-Datenbank einzuloggen. Nun habe ich den gleichen User und das Passwort eingegeben, die ich bei ODBC-Konfiguration und beim Testen der Client-Server Verbindung benutzt habe (die gelten auch für die Tabelle). Nach kurzer Zeit habe ich leider folgende Fehlermeldung bekommen:

    „[Oracle][ODBC][Ora] Ora-12154: TSN: Der Service Name konnte nicht aufgelöst werden.“

    Die Meldung habe ich mit OK bestätigt. Danach kam der Anmeldung-Dialog noch mal. Also habe ich noch mal den User und das Passwort eingegeben und den OK-Button gedruckt. Es kam noch mal die gleiche Fehlermeldung. Nun nachdem ich die Meldung zum zweiten Mal bestätigt habe, erschien meine Applikation auf dem Bildschirm. Der DBGrid beinhaltete keine Daten.

    Fazit: in der IDE-Umgebung habe ich keine Probleme mit der Verbindung mit Oracle-Datenbank und der DBGrid ist mit Daten gefüllt. Nachdem ich die Applikation kompiliere und starte, bekomme ich Probleme mit der Verbindung zur Datenbank und der DBGrid beinhaltet keine Daten.

    Who can help?

    Viele Grüße
    Markus

  • #2
    Moin!

    Wenn Du zu dem Oracle eine Lib hasst, mal versuchen diese im Projektmanager mit einzubinden.

    Gruss...

    Comment


    • #3
      Wenn die LIB fehlen würde, wäre schon das Linken fehlgeschlagen
      Zuletzt editiert von Christian Marquardt; 04.03.2007, 20:10.
      Christian

      Comment


      • #4
        Hallo Markus,

        ich gehe davon aus, dass die Eigenschaft 'Connected' der ADO-Connection auf true steht. Setz diese mal auf false, bevor Du compilierst.

        Ist zwar nur ein Schuß ins blaue...

        Grüße Jochen

        Comment


        • #5
          Moin, moin!

          Vielen Dank für Eure Tipps.

          @ krasus: Die Applikation versucht die Verbindung zu Oracle aufbauen. Also ehrlich gesagt weiß ich nicht welche Bibliothek ich noch im Projekt verwenden sollte.

          @ Christian: Das stimmt, beim Kompilieren meckert weder der Compiler noch der Linker.

          @ Jochen: Das habe ich auch versucht. Auf die Form habe ich zusätzlich einen Button platziert. Er sollte die entsprechenden Eigenschaften der Connection und Tabelle auf „true“ setzen und damit den Anmelde-Dialog anstoßen. Leider blieb auch dieser Versuch erfolglos.


          Ich denke, dass das ganze irgendwas mit der Umgebung zu tun hat, wo die IDE und Applikation laufen. Die IDE und Applikation laufen in separaten Prozessen, die unterschiedlich aufgebaute Umgebungen haben. Das muss ich noch checken.

          Noch andere Ideen?

          Erst mal Vielen Dank
          Markus

          Comment


          • #6
            Hallo zusammen,

            versucht es doch mal mit folgendem:
            http://www.crlab.com/odac/

            Habe dort ebenfalls ein Programm bezogen das mit MySQL-Datenbanken zusammenarbeitet. Funktionier super.

            Grüße
            Thomas

            Comment


            • #7
              Moin, moin!

              Also, das oben beschriebene Problem habe ich klären können. Mit Hilfe des WinDbg (debuging tool for Windows) habe ich festgestellt, dass die OraOLEDBpus.dll ein Problem hat und eine Exception auslöst. Was genau passiert weiß ich nicht. Im Protokoll steht nur „Unbekannte exception“.

              Während meinen mehrfachen Versuchen und Testen habe ich gemerkt, dass das Problem an dem Pfad-Namen liegt. Wie ich schon oben beschrieben habe, verwalte ich meine Projekte und IDE in separaten Verzeichnissen auf getrennten Festplatten. Unglücklicherweise habe ich für das besagte Projekt einen total besch...ten Namen ausgewählt. Der Name beinhaltet nämlich ein Leerzeichen. Wie es sich herausstellte ist das kleine Leerzeichen aus der Sicht der OraOLEDBpus.dll gar nicht so unbedeutend! Es hat zur Folge, dass die OraOLEDBpus.dll auf die Nase fällt und Verbindung zur ORACLE-Datenbank nicht aufgebaut werden kann. Nachdem ich den Namen so geändert habe, dass er kein Leerzeichen mehr beinhaltet, lief alles wie geschmiert!

              Also kaum macht man es richtig, läuft alles!
              Aber vorher muss man drauf kommen!

              Viele Grüße
              Markus

              Comment

              Working...
              X