Informatica puede utilizar controladores nativos y controladores de terceros para comunicarse con las bases de datos. Los controladores nativos los proporciona el proveedor de la base de datos, por ejemplo, las bibliotecas OCI de Oracle o SQL Server Native Client de Microsoft. Los controladores nativos son el método de acceso a datos recomendado por Informatica, cuando están disponibles para su plataforma de Informatica.
La distribución de Informatica incluye controladores de terceros para varias bases de datos. Estos controladores de terceros utilizan ODBC para comunicarse con las bases de datos. ODBC es una interfaz independiente de la base de datos que permite que las aplicaciones compatibles con ODBC, como Informatica, funcionen con cualquier base de datos para la que esté disponible un controlador ODBC. ODBC traduce las consultas de datos de Informatica en algo que la base de datos de destino comprenda.
ODBC tiene dos componentes:el controlador ODBC y el Administrador de controladores ODBC. El controlador ODBC es específico de la base de datos, es decir, un controlador ODBC de Microsoft Access solo se comunicará con una base de datos de Microsoft Access. El Administrador de controladores ODBC es la interfaz entre Informatica y el controlador ODBC. El Administrador de controladores es responsable de cargar el controlador ODBC, aislando a Informatica del componente que interactúa con la base de datos. Esta arquitectura permite que Informatica se conecte a diferentes bases de datos sin que se realice ningún cambio en la aplicación.
En Windows, Microsoft proporciona un administrador de controladores ODBC con el sistema operativo, y este es el que utiliza Informatica en esta plataforma.
En UNIX y Linux, la distribución de Informatica incluye un administrador de controladores ODBC.
Entonces, sabemos que la arquitectura ODBC permite que una aplicación admita múltiples backends de bases de datos conectando diferentes controladores ODBC específicos de bases de datos. ¿Cómo funciona esto en la práctica con Informatica? ¿Qué debe hacer para permitir que Informatica use controladores ODBC que no se incluyen con la aplicación?
En Windows, esto es sencillo. Instale el controlador en el Administrador de controladores ODBC de Microsoft y configure una fuente de datos ODBC en el subprograma Administrador de fuente de datos ODBC, que se encuentra en el Panel de control de Windows. La fuente de datos ODBC estará entonces disponible para su uso en Informatica; no se requiere ninguna configuración adicional. Una fuente común de confusión en las máquinas con Windows de 64 bits es el error "Discordancia de arquitectura" que obtiene si intenta usar un controlador ODBC de 64 bits con una aplicación de 32 bits o viceversa. Si su aplicación cliente de Informatica es de 64 bits, debe usarla con un controlador ODBC de 64 bits y configurar una fuente de datos en la versión de 64 bits del Administrador de fuente de datos ODBC. El Administrador de fuente de datos ODBC de 64 bits será el único subprograma ODBC en el Panel de control o, si hay dos subprogramas ODBC, se etiquetará claramente como de 64 bits. Para ejecutar el Administrador de fuente de datos ODBC de 32 bits, que es el que debe usar si su cliente de Informatica es de 32 bits, use este comando:
%windir%\syswow64\odbcad32.exe
En UNIX y Linux, se aplica el mismo problema:la arquitectura de la aplicación debe ser la misma que la del controlador ODBC. Por lo tanto, debe verificar si su cliente de Informatica es de 32 bits o de 64 bits y luego usar un controlador ODBC cuya arquitectura sea la misma. (Tenga en cuenta que saber qué arquitectura es su sistema operativo no es suficiente; puede ejecutar una aplicación de 32 bits en un sistema operativo de 64 bits, por lo que es la arquitectura de Informatica lo que necesita).
Otro problema para aquellos que buscan usar un controlador ODBC de terceros con Informatica es cómo configurar el entorno y editar los archivos de configuración ODBC relevantes para que Informatica pueda usar el controlador. Como se mencionó, la distribución de Informatica incluye un administrador de controladores ODBC y una selección de controladores ODBC para varias bases de datos. Por lo tanto, Informatica espera:
- Cargue controladores ODBC desde una ubicación bajo la estructura de directorios de Informatica.
- Encuentre fuentes de datos ODBC en el Administrador de controladores incluido en su distribución.
(En el resto de este artículo, utilizaremos controladores ODBC de Easysoft como nuestro ejemplo de controladores ODBC de terceros). Aunque normalmente se usan con el Administrador de controladores ODBC de unix, los controladores ODBC de Easysoft son compatibles con el Administrador de controladores ODBC de Informatica.
Cuando intenta conectarse a una fuente de datos ODBC en Informatica, la aplicación pasa el nombre de la fuente de datos al Administrador de controladores ODBC. El Administrador de controladores ODBC intenta cargar el controlador ODBC al que hace referencia el origen de datos y pasa el nombre del origen de datos al controlador en una cadena de conexión. Suponiendo que no se pasan otras configuraciones en la cadena de conexión, el controlador ODBC busca cualquier otro detalle de conexión que necesite en la fuente de datos.
Para comenzar, instalaremos el controlador ODBC de Salesforce de Easysoft en nuestra máquina de prueba de Informatica. Aceptamos las opciones predeterminadas durante la instalación, por lo que el controlador ODBC se instala en /usr/local/easysoft
y una fuente de datos de muestra está instalada en /etc/odbc.ini
:
$ cd /tmp $ cd odbc-salesforce-1.0.36-linux-x86-64-ul64 $ su # ./install
Después de editar la fuente de datos de muestra para que especificara el nombre de usuario, la contraseña y el token de seguridad de Salesforce, usamos isql
para probar la conexión a la fuente de datos.
# vi /etc/odbc.ini [SF_SAMPLE] Description=Easysoft ODBC-SalesForce Driver Driver=Easysoft ODBC-SalesForce uri=https://login.salesforce.com/services/Soap/u/27 [email protected] password=my_salesforce_password token=1234567ABCDEFGHIJK
$ /usr/local/easysoft/unixODBC/bin/isql.sh SF_SAMPLE +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit | | | +---------------------------------------+ SQL>
Ahora tenemos un controlador ODBC instalado, con licencia y en funcionamiento, pero aún no está disponible para su uso en Informatica.
Para permitir que Informatica encuentre la fuente de datos y cargue el controlador, necesitamos:
- Copie la fuente de datos de
/etc/odbc.ini
al$ODBCHOME/odbc.ini
archivo en la distribución de Informatica. - Copie la siguiente sección de
/etc/odbcinst.ini
al$ODBCHOME/odbcinst.ini
archivo en la distribución de Informatica:[Easysoft ODBC-SalesForce] Description=Easysoft ODBC-SalesForce Driver Driver=/usr/local/easysoft/sf/lib/libessf.so Setup=/usr/local/easysoft/sf/lib/libessfS.so Threading=0 FileUsage=1 DontDLClose=1 UsageCount=1
También debe configurar el entorno de Informatica para que la biblioteca de tiempo de ejecución de C pueda cargar las bibliotecas de controladores ODBC. Edite la variable de entorno apropiada para su plataforma y enlazador dinámico (LD_LIBRARY_PATH
, LIBPATH
) y así). Nuestra plataforma de Informatica es Linux, por lo que agregamos los siguientes directorios de controladores ODBC de Salesforce a LD_LIBRARY_PATH
en el archivo de perfil del usuario de Informatica PowerCenter:
/usr/local/easysoft/sf /usr/local/easysoft/lib
Luego reiniciamos el dominio de PowerCenter para que Informatica recogiera los cambios.
La conexión de Salesforce estaba entonces disponible como destino o fuente relacional (mediante el uso de la fuente de datos de Salesforce en una conexión relacional cuyo tipo se estableció en ODBC) en nuestros flujos de trabajo de Informatica.