Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Datei oder Assembly für Oracle.DataAccess in .NET konnte nicht geladen werden

Ich werde Ihnen die Antworten aus dem geben, was ich gerade mit Windows Server 2008 R2, einem 64-Bit-Betriebssystem, durchgemacht habe. Die Anwendungssuite von Bibliotheken, die ich erhalten habe, wurde unter Verwendung von .net 3.5 x86 mit den älteren DLL-Bibliotheken entwickelt, und ich steckte fest, weil ich die neueren x64-Clients von Oracle installiert hatte.

Was ich gefunden habe, war Folgendes:Installieren Sie den neuesten x64-Client von Oracle für Windows Server 2008. Ich glaube, dies wäre der 2.7.0-Client. Wenn Sie die Installation auswählen, stellen Sie sicher, dass Sie benutzerdefinierte Einstellungen vornehmen und die .NET-Bibliotheken auswählen. Konfigurieren Sie Ihre tnsnames-Dateien und testen Sie Ihr tnsping mit Ihrer Datenquelle.

Wenn Sie eine 32-Bit-Anwendung ausführen, installieren Sie als Nächstes dieselbe Version des Clients für 32 Bit. Befolgen Sie außerdem dieselbe Installationsroutine und wählen Sie dasselbe Zuhause aus.

Wenn Sie fertig sind, werden Sie feststellen, dass Sie eine einzelne App/ein einzelnes Produkt mit zwei Client-Verzeichnissen (Client1 und Client2) haben.

Wenn Sie zum Windows/Assemblies-Verzeichnis navigieren, werden Sie feststellen, dass Sie einen Verweis auf die Oracle.DataAccess.dll (x2) mit einem für x86 und einem für AMD64 haben.

Nun, je nachdem, ob Sie Entwickler haben oder selbst auf dem Computer entwickeln, können Sie hier in Ordnung sein, aber wenn sie ältere Treiber verwenden, müssen Sie einen letzten Schritt ausführen.

Navigieren Sie zum Verzeichnis app\name\product\version\client_1\odp.net\publisher policy\2.x. Darin enthalten sind zwei Richtliniendateien. Verwenden Sie gacutil /i, um Policy.2.111.Oracle.DataAccess.dll im GAC zu installieren. Dadurch werden ältere Orakel-ODP-Aufrufe auf die neueren Versionen umgeleitet. Wenn also jemand mit dem 10g-Client entwickelt hat, funktioniert es jetzt mit dem 11-Client.

FYI - Einige installieren möglicherweise das neueste ODP.NET mit 2.111.7.20. Der Haupt-Oracle-Client selbst wird mit 2.111.7.0 geliefert. Ich hatte keinen Erfolg mit 7.20, habe aber keine Probleme mit dem 7.0-Client.