Skip to content

Conectándose a una fuente de datos Oracle desde Microsoft SQL Server Integration Services

08/02/2013
SQLServerLogo

Utilizando las distintas fuentes de datos y proveedores existentes dentro de Integration Services en SQL Server, es posible acceder a datos almacenados en servidores Oracle. Algo que en principio podría parecer sencillo a veces no lo es tanto. Recientemente he tenido que colaborar en la resolución de un problema de conectividad con este tipo de configuración y quiero compartir con todos ustedes los resultados y la forma en la que finalmente todo nos funcionó.

Primero que nada debemos descargar e instalar los componentes de acceso a datos de Oracle. Existen múltiples clientes y paquetes de software. De todos ellos el único que nos funcionó fue el Oracle Data Access Components for Windows (ODAC), que se puede descargar desde aquí. Se presentan versiones de 32 y 64 bits. Pese a que nuestro servidor de SQL Server Integration Services era de 64 bits, los componentes que funcionaron fueron los de la versión de Oracle de 32 bits.

Luego de instalados estos componentes, debemos configurar una variable de entorno para que el componente de acceso a datos pueda localizar los archivos de configuración de Oracle, el TNSNAMES.ORA y el sqlnet.ora. Si esto no está correctamente configurado la conectividad falla inevitablemente.  Conviene ubicar los mencionados archivos dentro de la carpeta de instalación y creando desde allí dos nuevas carpetas \network\admin. Los archivos TNSNAMES.ORA y sqlnet.ora deben ser correctos y el administrador de su servidor Oracle se los puede proveer. Las variables de entorno a configurar son ORACLE_HOME y TNS_ADMIN. La primera de ellas debe apuntar a la carpeta de instalación del componente ODAC. La segunda al directorio completo donde se ubica el TNSNAMES.ORA. Por ejemplo, si la instalación del ODAC se hizo en la carpeta C:\ORA, las variables serán:

ORACLE_HOME=C:\ORA
TNS_ADMIN=C:\ORA\network\admin

Una vez configuradas las variables de entorno, podemos pasar a Integration Services y desde el flujo de datos incorporar una fuete de datos .NET (ADO.NET Connection). En esta fuente de datos debemos elegir el proveedor OracleClient Data Provider. Se nos pedirá el nombre del servidor, usuario y password para la autenticación.

Si todos los pasos fueron correctos y nuestro entorno es apropiado, ya podemos conectarnos con el servidor Oracle a partir de esta fuente de datos.

Todo este trabajo es una alternativa al uso del conector Attunity, hecho disponible por Microsoft . La instalación de esta fuente de datos tampoco es trivial y requiere múltiples configuraciones para lograr su funcionamiento.

Finalmente quiero agradecer a mi colega Hernán Bossarelli quien trabaja en Os.Pe.Con., uno de mis clientes y que ha hecho posible esta implementación gracias a su gran dedicación.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: