sql >> Base de Datos >  >> RDS >> Oracle

Oracle.DataAccess.dll no se puede ubicar aunque existe

La instalación de ODP.NET puede ser muy complicada. Hay muchas cosas que pueden salir mal:

  • Puede tener una versión que no coincide (2.111.7.20, 2.112.1.0, 2.112.2.0).
  • Puede haber una discrepancia entre 32 y 64 bits.
  • Puede que exista la DLL de .NET, pero no se encuentra una de las dependencias.

Intente verificar primero la discrepancia de 32/64 bits. En IIS, puede configurar si su aplicación web se ejecuta como 32 o 64 bits. Para verificarlo, eche un vistazo al administrador de tareas y vea si el proceso w3wp.exe tiene el *32 Marcos. Luego vaya a C:\Windows\Assembly en el explorador de archivos. Es una vista especial que muestra el GAC. Si dice x86 en la última columna de la fila Oracle.DataAccess, entonces es de 32 bits. Si dice AMD64, entonces es de 64 bits.

En la misma fila, también encontrará el número de versión exacto. Compruebe en VisualStudio si el proyecto ASP.NET utiliza el mismo.

Si no me equivoco, la principal dependencia de Oracle.DataAccess.dll es OraOps11w.dll , que debe estar disponible en el directorio BIN del directorio del cliente de Oracle. Este directorio generalmente se encuentra a través del registro (HKLM\SOFTWARE\ORACLE\ODP.NET\<version>\DllPath ). Asegúrese de consultar el registro del bitness correcto (32 frente a 64 bits).

Hay más cosas que pueden ir. Pero estos aquí suelen resolver el problema.