Benutzer mit den meisten Antworten
Möglichkeiten vom Einbinden des Oracle Clients.

Frage
-
Hallo Liebe Gemeinschaft
Ich bin gerade am Testen ob man die .dll vom Oracle Client in men Project einbinden kann.
Ausgangssituation:
1. Windows Forms mit VS 2013 Pro
2. Oracle 12 Client Home 32Bit
3. SAPdnConnectorMeine Frage ist:
Wie sit es möglich/Ist es Überhaupt mäglich die benötigten Dateien ohne Installation des Oracle Clients zu verwirklichen?Bereits Probiert:
Die Oracle.ManagedDataAccess.dll Ins Project einzubinden. Leider weis ich (noch) nicht was ich übersehen habe.
Vielleicht hat ja wer eine gute Anleitung (Englisch/Deusch ist egal), falls ich wieder auf so ein ähnliches Problem stoße dieses effizient zu lösen.
Antworten
-
Hallo Loki,
ich würde auf jeden Fall auch noch die DTC DLL mit kopieren. Die wird benötigt, sobald verteilte Transaktionen benötigt werden. Und die Aussage der Dokumentation ist auf jeden Fall, dass diese auch aus dem Programmverzeichnis geladen werden kann.
Solange keine verteilte Transaktionen verwendet werden, ist es egal, aber wenn im Rahmen von der weiteren Entwicklungsarbeit sowas benutzt wird, funktioniert es sonst nicht (bzw. es funktioniert ggf. auf Systemen, bei denen ODP.Net auch installiert wurde und auf Systemen ohne knallt es dann.
Es schadet ja nicht, die paar Dateien noch mitzunehmen.
Und ich würde darauf achten, dass die Assemblies für eine Ziel Architektur kompiliert sind. Denn die DLL gibt es für 32 und 64 bit. Wenn Du nun deine Assemblies für "Any CPU" kompilierst, dann funktioniert es solange, wie die Architektur genau die ist, für die Du die DLL mitgeben hast. Also wenn das die x64 version ist, dann würde ich die Assembly auch für X64 kompilieren.
Viele Grüße,
Konrad
- Als Antwort markiert Loki_1984 Mittwoch, 25. Mai 2016 11:57
-
Hallo Ihr Lieben
Ich habe eine Unkonventionelle Lösung gefunden.
Vielleicht habt ihr noch Inspiration wie es "Besser" geht.Ich habe die
OracleManagedDataAccess.dll eingebunden
und die
tnsnames.ora ins Programmverzeichniss kopiert.Damit läuft alles ohne den Oracle Client zu installieren.
LG
Loki aka Gandalf
- Als Antwort markiert Loki_1984 Donnerstag, 19. Mai 2016 12:44
Alle Antworten
-
Hallo Loki,
ohne Installation funktioniert ein Oracle Treiber nicht, denn neben der managed Treiber DLL kommt da noch einiges mehr zu. Siehe Installing Oracle Data Provider for .NET, Managed Driver.
Gruß Elmar
-
Hallo zusammen!
Also das ODP.Net braucht keinen Oracle Client mehr. Das ODP.Net alleine reicht aus. Und die Installation ist ja auch "nur" ein Copy der Dateien + die Registrierung.
Gerade der Link von Elmar besagt ja auch nichts anderes. Bei distributed transactions wird die DTC DLL noch benötigt und diese wird explizit auch aus dem lokalen Verzeichnis geladen und muss daher nicht im GAC sein.
Zur IOP und zur EntityFramework DLL gibt es diesbezüglich keine Aussagen, aber wenn dies managed DLLs sind, dann sollte da auch das Gleiche gelten.
Das Problem, welches ich sehe ist nur die Auflösung von 32 und 64 bit. Du kannst halt nur das eine oder das andere hinterlegen und nicht beide. Daher musst Du genau wissen, auf was für einer Architektur Du aufgerufen wirst. Dann sollte das aber eigentlich problemlos funktionieren. (Aber das ist jetzt natürlich ungetestet!)
Es werden noch Einträge in der machine.config erwähnt, aber wir haben für die Installation von ODP.Net unser eigenes Paket gebaut und da bin ich mir recht sicher, dass wir nur die DLLs im GAC registriert haben und sonst nichts gemacht haben. Aber das müsste ich ggf. noch nachprüfen (Wobei es ja kein Thema sein sollte, dass man sich das configure script einmal anschaut oder einfach laufen lässt und die machine.config vorher und nachher vergleicht.
Wenn Du da etwas versucht hast: Was für Fehler hast Du denn bekommen? Welche Klassen wurden nicht gefunden? Was genau hast Du gemacht? Ich habe jetzt hier keine Möglichkeit, das selbst zu testen.
Viele Grüße,
Konrad
-
Hallo zusammen,
schaut man sich die configure.bat an, die auch in der Anleitung erwähnt wird, so übernimmt die den wesentlichen Teil der Installation. Dazu kämen noch die Netzwerk-Konfiguration; da finden sich zwei Beispieldateien.
Gruß Elmar
- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 19. Mai 2016 08:04
-
Hallo Ihr Lieben
Ich habe eine Unkonventionelle Lösung gefunden.
Vielleicht habt ihr noch Inspiration wie es "Besser" geht.Ich habe die
OracleManagedDataAccess.dll eingebunden
und die
tnsnames.ora ins Programmverzeichniss kopiert.Damit läuft alles ohne den Oracle Client zu installieren.
LG
Loki aka Gandalf
- Als Antwort markiert Loki_1984 Donnerstag, 19. Mai 2016 12:44
-
Hallo Loki,
ich würde auf jeden Fall auch noch die DTC DLL mit kopieren. Die wird benötigt, sobald verteilte Transaktionen benötigt werden. Und die Aussage der Dokumentation ist auf jeden Fall, dass diese auch aus dem Programmverzeichnis geladen werden kann.
Solange keine verteilte Transaktionen verwendet werden, ist es egal, aber wenn im Rahmen von der weiteren Entwicklungsarbeit sowas benutzt wird, funktioniert es sonst nicht (bzw. es funktioniert ggf. auf Systemen, bei denen ODP.Net auch installiert wurde und auf Systemen ohne knallt es dann.
Es schadet ja nicht, die paar Dateien noch mitzunehmen.
Und ich würde darauf achten, dass die Assemblies für eine Ziel Architektur kompiliert sind. Denn die DLL gibt es für 32 und 64 bit. Wenn Du nun deine Assemblies für "Any CPU" kompilierst, dann funktioniert es solange, wie die Architektur genau die ist, für die Du die DLL mitgeben hast. Also wenn das die x64 version ist, dann würde ich die Assembly auch für X64 kompilieren.
Viele Grüße,
Konrad
- Als Antwort markiert Loki_1984 Mittwoch, 25. Mai 2016 11:57
-
Hallo Konrad
Danke für dein Feedback.
ich Habe das Project auf 32Bit Konzipiert und dementsprechend auch die 32Bit dll verwendet.
Ich werde deiner Empfehlung folgen und die DTC dll auch mit ins Verzeichnis packen. Weil wie du sagst mann weis noch nicht wo das Projekt endet (Du weist ja wis ist, Jeder will Alles, ein Hoch auf die Spirale).
LG
Loki aka Gandalf
- Bearbeitet Loki_1984 Mittwoch, 25. Mai 2016 11:59 Tastatur Spackt