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

No se pudo cargar el archivo o el ensamblaje para Oracle.DataAccess en .NET

Les daré las respuestas de lo que acabo de pasar en Windows Server 2008 R2, que es un sistema operativo de 64 bits. El conjunto de aplicaciones de bibliotecas que me dieron se desarrolló utilizando .net 3.5 x86 con las bibliotecas DLL más antiguas y me quedé atascado porque había instalado los clientes x64 más nuevos de Oracle.

Lo que encontré fue lo siguiente:Instale el último cliente x64 de Oracle para Windows Server 2008. Creo que este sería el cliente 2.7.0. Cuando seleccione la instalación, asegúrese de personalizar y seleccionar las bibliotecas .NET. Configure sus archivos tnsnames y pruebe su tnsping con su fuente de datos.

A continuación, si está ejecutando una aplicación de 32 bits, instale la misma versión del cliente para 32 bits. Además, siga la misma rutina de instalación y seleccione la misma casa.

Cuando haya terminado, encontrará que tiene una sola aplicación/producto con dos directorios de clientes (Cliente1 y Cliente2).

Si navega al directorio windows/assemblies, encontrará que tiene una referencia a Oracle.DataAccess.dll (x2) con una para x86 y otra para AMD64.

Ahora, dependiendo de si tiene desarrolladores o si está desarrollando en la máquina usted mismo, puede estar bien aquí, sin embargo, si están usando controladores más antiguos, entonces debe realizar un último paso.

Vaya al directorio app\name\product\version\client_1\odp.net\publisher policy\2.x. Aquí se incluyen dos archivos de políticas. use gacutil /i para instalar Policy.2.111.Oracle.DataAccess.dll en el GAC. Esto redirigirá las llamadas ODP de Oracle heredadas a las versiones más nuevas. Entonces, si alguien desarrolló con el cliente 10g, ahora funcionará con el cliente 11.

FYI -- Algunos pueden estar instalando el último ODP.NET con el 2.111.7.20. El cliente principal de Oracle viene con 2.111.7.0. No he tenido ningún éxito con el 7.20 pero no tengo problemas con el cliente 7.0.