Hola a todos,
Hoy amiguitos os voy a contar una bonita historia sobre SSIS (SQL Server Integration Services) y Oracle en una plataforma de 64-bit a la hora de ejecutar unos jobs con el SQLAgent.
Resulta que haces un desarrollo en un entorno x86, crees que todo está perfecto y ¿sabes lo que pasa cuando lo llevas a producción en un entorno x64?... Exacto, que no funciona, que se producen errores y si no estás prevenido o encuentras la solución tu proyecto se puede ir rápidamente al traste.
Esto ocurre por lo siguiente:
En un entorno de 32-bits se instala BIDS(Business Intelligence Development Studio) de 32-bits, el cliente Oracle de 32-bits y DTEXEC (SQLAgent) de 32-bits. No hay problema.
Sin embargo, en entornos de 64-bits BIDS se instala de 32-bits (no hay versión de 64), Oracle de 64 y ya tenemos el primer problema. Primera solución: Instalar el cliente Oracle de 32 bit en la máquina de producción.
Pero esto provoca que cuando DTEXEC (de 64-bit) quiere ejecutar el ETL que llama al cliente Oracle (ahora de 32-bit) vuelve a fallas. HORROR!!!
La solución es no ejecutar con el SQLAgent SSIS directamente y utilizar CMDExec de 32-bits
Vaya lio, ¿no?
Venga, que con la información condensada es más fácil
- Instalar el cliente Oracle 10.2.0.1 versión de 32-bit
- Instalar el parche Oracle #4547817 (que actualiza a 10.2.0.2)
- Instalar el parche #5383042 (arregla el bug #3807408)
- Desarrollar con los paquetes con SSIS
- Ejectuar el ETL con CMDExec que usa la versión de 32-bit de DTEXEC (C:\Program Files(x86)\Microsoft SQL Server\90\DTS\binn). Próximamente en un post contaré como hacer esto y alguna cosa mas
Para terminar avisaros que los dos parches son de pago. Si, como lo lees, Oracle te hace pagar por arreglar un fallo en su aplicación, jajajaja. Y luego dicén de MS….
En fin, que a ver si con esto se solucionan vuestros problemas. Os dejo un link que me sirvió para ver la luz y poder hacer todo esto. Suerte!
http://portal.sqltrainer.com/2007/11/sql-server-integration-services-oracle.html
Salu2
1 comentario:
Muy buen post, gracias!!! Oracle queda muy mal con estos problemas en su aplicación,,,, muy mal muy mal
Publicar un comentario