Oracle
 sql >> Database >  >> RDS >> Oracle

Non è possibile individuare Oracle.DataAccess.dll sebbene esista

L'installazione di ODP.NET può essere molto complicata. Ci sono molte cose che possono andare storte:

  • Puoi avere una versione non corrispondente (2.111.7.20 vs 2.112.1.0 vs 2.112.2.0).
  • Puoi avere una mancata corrispondenza tra 32 e 64 bit.
  • La DLL .NET potrebbe esistere ma una delle dipendenze non è stata trovata.

Prova prima a controllare la mancata corrispondenza di 32/64 bit. In IIS è possibile configurare se l'applicazione Web viene eseguita a 32 o 64 bit. Per verificarlo, dai un'occhiata al task manager e verifica se il processo w3wp.exe ha il *32 marchio. Quindi vai su C:\Windows\Assembly in Esplora file. È una vista speciale che mostra il GAC. Se dice x86 nell'ultima colonna della riga Oracle.DataAccess, allora è a 32 bit. Se dice AMD64, allora è a 64 bit.

Sulla stessa riga troverai anche il numero esatto della versione. Verifica in VisualStudio se il progetto ASP.NET utilizza lo stesso.

Se non sbaglio, la dipendenza principale di Oracle.DataAccess.dll è OraOps11w.dll , che dovrebbe essere disponibile nella directory BIN della directory del client Oracle. Questa directory si trova solitamente tramite il registro (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ). Assicurati di guardare il registro del bit corretto (32 vs 64 bit).

Ci sono più cose che possono andare. Ma questi qui di solito risolvono il problema.