El proveedor ‘MSDAORA.1’ no está registrado en la máquina local

Tengo una aplicación que se conecta a una base de datos, extrae información, crea un archivo de Excel y luego suelta el archivo / correos electrónicos a X personas el archivo.

La aplicación se creó en Visual Studios utilizando .NET 2.0 Framework (aplicación Windows Form). Se ejecutó en un servidor de 32 bits. Pero recientemente fue movido a un servidor de 64 bits. Ahora vuelve con el mensaje de error “El proveedor ‘MSDAORA.1’ no está registrado en la máquina local”.

Creo que MSDAORA solo es compatible con aplicaciones de 32 bits y el grupo de aplicaciones con el que se ejecuta la aplicación en IIS no está habilitado para aplicaciones de 32 bits.

¿Cómo solucionaría este problema? ¿Hay algo que pueda cambiar en IIS? ¿O es un cambio de código?

El uso de ORAOLEDB.ORACLE lugar de MSDAORA solucionó el mismo problema para mí: cambiar el destino de la plataforma de ‘Cualquier CPU’ a ‘X86’ causó errores dentro de mi proyecto en Visual Studio.

Ver respuesta aqui

Descubrí las soluciones para esto. El problema surgió al ejecutar la máquina en una máquina de 64 bits. Para cambiar eso en VS, abra la página de propiedades de la solución y, en la pestaña de comstackción, cambie la plataforma de destino a x86. Y eso hizo el truco.

http://lostechies.com/gabrielschenker/2009/10/21/force-net-application-to-run-in-32bit-process-on-64bit-os/

Gracias por tu ayuda Yuriy.

Tuve el mismo problema, pero utilicé otra solución porque mi aplicación se está ejecutando en IIS.

En la configuración avanzada del grupo de aplicaciones, cambié el valor de Enable 32-Bit Applications a verdadero .

Tuve el mismo problema pero no era 32 / 64bit. Utilicé el instalador ODAC xcopy y olvidé ejecutarlo en un cmd.exe como administrador . No dio ningún error, así que me costó entenderlo. La parte de xcopy funcionó pero el registro de la DLL a través de regsvr32 falló silenciosamente.