Zunächst einmal:Der Oracle-Client/Provider ist ein Chaos. Und das gilt sowohl für die MS-Version (ohnehin abgeschrieben) als auch für die Oracle-Version.
Um sich über den ODP.NET-Provider mit einer Oracle-DB zu verbinden, müssen drei Dinge richtig eingerichtet werden:
- Der Oracle-Client muss ordnungsgemäß eingerichtet werden (hat nichts mit dem .NET-Anbieter zu tun, dies bezieht sich auf den installierten Oracle-Client normalerweise in c:\oracle)
- Der ODP.NET-Anbieter muss mit dem installierten Oracle-Client kompatibel sein
- Die Architektur von Client und Anbieter und Ihre Anwendung müssen übereinstimmen, Sie können den 64-Bit-Client nicht mit einem x86-Anbieter/einer x86-Anwendung und umgekehrt verwenden
Normalerweise ist es am besten, die neueste Version von beiden zu haben. Aber wenn Sie dieses Problem ein für alle Mal loswerden möchten, verwenden Sie einen Oracle .NET-Drittanbieter.
AKTUALISIEREN
Einer der besseren ist von DataDirect (keine Zugehörigkeit):
http://www. datadirect.com/products/net/net-for-oracle/index.html
Es ist nicht nur die Installation (kein Oracle-Client erforderlich), sondern es ist auch schneller, vollständig verwaltet, x64 und der allgemeine Support ist viel besser als das, was Sie mit ODP.NET erhalten. Es wird Sie allerdings etwas kosten.
Der von DevArt ist auch ziemlich anständig (und viel viel billiger):
http:/ /www.devart.com/dotconnect/oracle/
Wir haben uns aus Erweiterbarkeitsgründen für den DataDirect entschieden, dies sollte für Sie aber nicht relevant sein.
Hier finden Sie eine gute Zusammenstellung von Drittanbietern, die .NET-Anbieter erstellen, jedoch nicht auf Oracle beschränkt:
http://msdn.microsoft.com/en-us/data/dd363565