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

Fehler beim Öffnen der Oracle-Verbindung beim Herstellen einer Verbindung von .NET-Code

Ich habe ODAC121021Xcopy_32bit heruntergeladen von der Oracle-Site heruntergeladen, die ZIP-Datei extrahiert und mithilfe der Datei install.bat installiert.

Ich stand vor dem gleichen Problem. Danke Omaraguirre. Wie von Omaraguirre angegeben, wurde auf Oracle.ManagedDataAccess.dll verwiesen und das Problem wurde behoben. Ich konnte die Verbindung problemlos öffnen.

Aber ich wollte herausfinden, warum Oracle.DatAccess.dll eine Null-Referenz-Ausnahme auslöst, während versucht wird, die Verbindung zu öffnen. Ich habe festgestellt, dass die unterstützenden DLLs wie (oci.dll, ociwin32.dll usw.) erforderlich sind, um die Verbindung ohne Fehler herzustellen. Also habe ich alle DLL-Dateien von instantclient_12_1 kopiert (Dieser Ordner befindet sich im extrahierten Ordner ODAC121021Xcopy_32bit) Ordner im von Oracle installierten bin-Verzeichnis (C:\oracle\bin , in meiner Maschine). Jetzt gibt die Oracle.DataAccess.dll beim Öffnen der Verbindung keinen Fehler mehr aus.

Eine weitere Sache ist, dass Oracle.ManagedDataAccess.dll alle unterstützenden DLL-Dateien intern lädt. Oracle.DataAccess.dll erfordert jedoch, dass die unterstützenden DLLs im Verzeichnis der ausführenden App (bei Konsolen-/WinForm-Apps) oder im von Oracle installierten Bin-Verzeichnis (bei Web-Apps) vorhanden sind. Unterschied zwischen Oracle.DataAccess.dll und Oracle. ManagedDataAccess.dll-DLLs finden Sie unter https://docs.oracle .com/database/121/ODPNT/intro003.htm#ODPNT131