Announcement

Collapse
No announcement yet.

Oracle Client, ODAC, ODP.Net Frage

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

  • Oracle Client, ODAC, ODP.Net Frage

    Hallo zusammen

    Ich tue mich schwer mit Oracle und hoffe, dass mir jemand von euch einen Denkanstoss oder sogar eine verständlich Erklärung geben kann.

    Wie siehts aus:
    Ich entwickle in unserer Firma ein paar kleine Anwendungen in C# mit Visual Studio Express 2013. Den Zugriff auf unseren Oracle-Server habe ich bisher via System.Data.OracleClient bewerkstelltigt. Da diese aber seitens Microsoft ja schon länger nicht mehr weiterentwickelt wird, möchte ich den Client von Oracle nutzen. Auf all unseren Rechnern ist der Oracle Client 11gR2 installiert.

    Mein Problem:
    Wenn ich einen Verweis auf Oracle.DataAccess erstellen will, findet Visual Studio nichts.

    Ich habe mir schon unzählige Postings und Tutorials im Web angesehen aber da wird in den meisten Fällen ODAC installiert. Wenn ich nicht komplett falsch liege, dann enthält doch der Oracle Client 11gR2 alle nötigen Komponenten, damit ich ODP.Net nutzen kann. Wieso wird mir dann die Assembly nicht angezeigt?

    Vermutlich mache ich ein völliges Durcheinander mit Oracle Client, ODAC und ODP.Net.

    Hoffentlich kann mir jemand von euch helfen.

    Danke für eure Hilfe.

    Grüsse
    Gonzolino

  • #2
    Originally posted by gonzolino View Post
    Mein Problem:
    Wenn ich einen Verweis auf Oracle.DataAccess erstellen will, findet Visual Studio nichts.

    Vermutlich mache ich ein völliges Durcheinander mit Oracle Client, ODAC und ODP.Net.
    ..findet Visual Studio nichts..
    Meinst Du das, was hier unter "adding a reference" beschrieben ist:
    http://docs.oracle.com/cd/E18283_01/...connecting.htm

    ..vermutlich Durcheinander..
    Tja, keine Ahnung was Du wie installiert hast. Hast Du auf die richtige "Bittigkeit" von Treiber und Anwendung geachtet?
    >32bit Anwendung erfordert 32bit Treiber
    >64bit Anwendung erfordert 64bit Treiber
    Gruß, defo

    Comment


    • #3
      Hallo Defo

      Ja genau. Bei Schritt 2 des Abschnittes "Adding a reference" wird mir Oracle.DataAccess nicht aufgelistet.

      Was die "Bittigkeit" angeht, da ist der 32Bit Oracle Client installiert und in Visual Studio habe ich die Zielplattform x86 ausgewählt.

      Habe ich noch etwas nicht berücksichtigt?

      Gruss
      Gonzolino

      Comment


      • #4
        Das scheint ja erstmal ok.
        Dann ist die Registrierung vielleicht nicht ok.

        Was hast Du denn alles installiert/deinstalliert, in welcher Reihenfolge?
        Gruß, defo

        Comment


        • #5
          Deine Vermutung mit der Registrierung scheint richtig zu sein. Habe nämlich erst jetzt gesehen, dass ich die nötige DLL in Visual Studio auch direkt aus dem Filesystem hinzufügen kann. Jedenfalls kann ich so den Verweis hinzufügen und ohne Probleme eine Verbindung zur DB herstellen.

          Installiert wurde zuerst der Oracle Client und danach Visual Studio. Vielleicht muss ich den Client mal neuinstallieren.

          Gruss
          Gonzolino

          Comment


          • #6
            Originally posted by gonzolino View Post
            Wenn ich nicht komplett falsch liege, dann enthält doch der Oracle Client 11gR2 alle nötigen Komponenten, damit ich ODP.Net nutzen kann. Wieso wird mir dann die Assembly nicht angezeigt?
            Nun, bei der Oracle Client 11gR2 Installation hat man geschätzt 2 Dutzend Komponenten die man an- oder abwählen kann. Wenn ODP.NET nicht ausgewählt war fehlt er natürlich. Man kann den Provider hier Oracle Data Access Components (ODAC) for Windows Downloads auch einzeln runterladen und nachträglich installieren.
            Wichtig ist, dass sowohl die Version als auch die "Bittigkeit" (32 oder 64 Bit) mit dem Oracle Client übereinstimmt. Wenn Oracle.DataAccess nicht im Global Assembly Cache (GAC) definiert ist, kannst du sie im Visual Studio über "Browse..." auch manuell referenzieren, du findest die DLL ungefähr im "c:\Oracle\...\ODP.NET\2.x\bin". (Hast du ja bereits rausgefunden)

            Auf dem Zielrechner muss der Oracle Client und der ODP.NET Provider auch installiert sein. Eine 32 Bit Applikation läuft nur mit dem 32 Bit Oracle Client, bzw. eine 64 Bit Version nur mit dem 64 Bit Oracle Client.

            Grundsätzlich ist es möglich, dass auf einem Rechner sowohl der 32 Bit als auch der 64 Bit Oracle Client installiert ist. Man muss aber ein wenig tricksen damit es vernünftig läuft und man nicht vor dem Start jeder einzelnen Anwendung and der PATH-Variablen und/oder in der Registry rumschrauben muss. Hier gibt es eine kleine Anleitung wie es gemacht wird: Install both x86 and x64 Oracle Client on one machine



            Seit Oracle 12c gibt es auch den ODP.NET Managed Driver, da muss man nichst weiter machen als die Oracle.ManagedDataAccess.dll Datei mit ins Program Verzeichnis kopieren. Der Oracle Client muss dafür nicht mehr installiert sein, es spielt auch keine Rolle ob es eine 32 oder 64 Bit Anwendung ist.
            Das Ganze ist noch relativ neu und wenn man immer die neuste Software verwendet bekommt man auch immer die neusten Fehler
            Was ich damit sagen will: Wenn man sich so im Netz und in der Oracle Dokumentation umsieht ist der ODP.NET Managed Driver noch nicht zu 100% ausgereift, einfach mal ausprobieren ob es bei dir läuft. Evtl. muss man noch einen Release warten.

            Gruss

            Comment


            • #7
              Bei Oracle nimmt man am besten etwas Geld in die Hand und kauft sich eine passende Komponente wie von DevArt: http://www.devart.com/dotconnect/oracle/

              Im Gegensatz zur Oracle-SW kommt man damit schon jahrelang ohne Installation aus und es funktioniert eigentlich immer sofort.

              Comment


              • #8
                Originally posted by Bernhard Geyer View Post
                Bei Oracle nimmt man am besten etwas Geld in die Hand und kauft sich eine passende Komponente wie von DevArt: http://www.devart.com/dotconnect/oracle/

                Im Gegensatz zur Oracle-SW kommt man damit schon jahrelang ohne Installation aus und es funktioniert eigentlich immer sofort.
                Sieht recht umfangreich aus aber genau das was ich verwende fehlt leider (zumindest auf den ersten Blick):
                PL/SQL REF CURSOR and OracleRefCursor
                PL/SQL Associative Array Binding

                Gruss

                Comment


                • #9
                  Originally posted by Wernfried View Post
                  Sieht recht umfangreich aus aber genau das was ich verwende fehlt leider (zumindest auf den ersten Blick):
                  PL/SQL REF CURSOR and OracleRefCursor
                  PL/SQL Associative Array Binding

                  Gruss
                  Frag halt im Forum nach ob das auch geht: http://forums.devart.com/viewforum.p...3fbc73596d6310

                  Comment

                  Working...
                  X