c# - studio - Ejecute Oracle Client en modo de 32 bits en una máquina de 64 bits
oracle ole db provider (5)
Descubrí que debe instalar el cliente Oracle de 32 bits (puede descargar el instalador desde su sitio web), incluso si está ejecutando en un equipo de 64 bits.
Además, durante las discusiones, la gente hablaba del modo de 32 bits, etc. Así es como puede verificarlo / configurarlo para una aplicación alojada en IIS 7. No debería necesitar cambiar esto, pero he agregado aquí para completar / referencia futura.
- Inicie IIS 7 y expanda el nodo del nombre del servidor.
- Haga clic en el nodo Grupos de aplicaciones y encuentre el grupo de aplicaciones que está utilizando.
- En el panel de la derecha, haz clic en Configuración avanzada ...
- En el cuadro emergente que aparece, marque Activado la configuración de aplicaciones de 32 bits , que es la tercera opción desde la parte superior.
Acabo de pasar de una computadora de escritorio Windows 7 de 32 bits a una computadora portátil de Windows 7 de 64 bits. Tenemos un programa C # que estamos desarrollando que contiene aproximadamente 60 proyectos dentro de la solución. Sigo recibiendo el siguiente error al intentar compilar:
Attempt to load Oracle client libraries threw BadImageFormatException. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed
Obviamente, el error es bastante claro y estoy tratando de cargar toda mi solución en modo de 32 bits. He revisado todos los proyectos y configuré la plataforma objetivo en x86, pero sigo recibiendo este error. He buscado en Google y visto innumerables enfoques diferentes, pero parece que no puedo solucionar este problema. ¿Cuál es la mejor manera de garantizar que mi proyecto se ejecute en modo de 32 bits en una máquina de 64 bits?
Estoy usando Visual Studio 2008. Actualmente estoy considerando degradar a 32 bits, pero realmente quiero evitar tener que hacer esto.
Tienes que cambiar tu archivo .exe principal para que se ejecute solo como de 32 bits. Puede hacer esto en Visual Studio: simplemente cambie el destino de la plataforma de "Cualquier CPU" a "x86".
Si esto no es posible, use corflags.exe que obliga a un exe existente a ser una aplicación de 32 bits.
He estado luchando con este problema durante meses y finalmente lo resolví. Creo que todas las publicaciones son útiles, pero me faltaba una pieza. No tenía una configuración de ODBC de Microsoft para la instancia de Oracle para el DSN del usuario o el DSN del sistema. Estoy trabajando en una máquina con Windows 8. Así que para mí tuve que ir a la búsqueda general de Windows y escribir en ODBC y abrir el Administrador de Fuente de Datos ODBC (32 bits). Verifique si tiene una configuración de Microsoft ODBC para Oracle en la pestaña DSN del usuario o en la pestaña DSN del sistema. Si no, haga clic en Agregar y seleccione Microsoft ODBC para Oracle. Complete la información de su fuente de datos que está tratando de presionar y haga clic en Aceptar. Asegúrese de reiniciar su computadora y eso es lo que finalmente funcionó para mí. Espero que esto ayude a alguno de ustedes.
En mi caso, el cliente Oracle de 64 bits se instaló en mi máquina, pero sigue dando el mismo error. Por lo tanto, he analizado que en mi aplicación vaya a Aplicación, haga clic derecho, vaya a -> Propiedades-> pestaña Web y desmarque la opción "Usar IIS Express" si está utilizando el servidor web IIS local. Problema fue resuelto
Tienes que cambiar tu archivo .exe principal para que se ejecute solo como de 32 bits. Puede hacer esto en Visual Studio: simplemente cambie el destino de la plataforma de "Cualquier CPU" a "x86". https://msdn.microsoft.com/en-us/library/ms185328.aspx