A Informatica pode usar drivers nativos e drivers de terceiros para se comunicar com bancos de dados. Drivers nativos são fornecidos pelo fornecedor do banco de dados, por exemplo, bibliotecas OCI da Oracle ou SQL Server Native Client da Microsoft. Drivers nativos são o método de acesso a dados recomendado pela Informatica, quando disponíveis para sua plataforma Informatica.
A distribuição da Informatica inclui drivers de terceiros para vários bancos de dados. Esses drivers de terceiros usam ODBC para se comunicar com bancos de dados. ODBC é uma interface neutra de banco de dados que permite que aplicativos compatíveis com ODBC, como o Informatica, funcionem com qualquer banco de dados para o qual um driver ODBC esteja disponível. O ODBC traduz as consultas de dados da Informatica em algo que o banco de dados de destino entende.
O ODBC tem dois componentes:o driver ODBC e o ODBC Driver Manager. O driver ODBC é específico do banco de dados, ou seja, um driver ODBC do Microsoft Access só se comunicará com um banco de dados do Microsoft Access. O ODBC Driver Manager é a interface entre a Informatica e o driver ODBC. O Driver Manager é responsável por carregar o driver ODBC, isolando a Informatica do componente que interage com o banco de dados. Essa arquitetura permite que a Informatica se conecte a diferentes bancos de dados sem que nenhuma alteração seja feita no aplicativo.
No Windows, a Microsoft fornece um ODBC Driver Manager com o sistema operacional, e este é o que a Informatica usa nesta plataforma.
No UNIX e Linux, a distribuição Informatica inclui um ODBC Driver Manager.
Portanto, sabemos que a arquitetura ODBC permite que um aplicativo dê suporte a vários back-ends de banco de dados conectando diferentes drivers ODBC específicos de banco de dados. Como isso funciona na prática com a Informatica? O que você precisa fazer para permitir que a Informatica use drivers ODBC que não são empacotados com o aplicativo.
No Windows, isso é simples. Você instala o driver no Gerenciador de driver ODBC da Microsoft e configura uma fonte de dados ODBC no miniaplicativo Administrador de fonte de dados ODBC, localizado no Painel de controle do Windows. A fonte de dados ODBC fica então disponível para uso na Informatica; nenhuma configuração adicional é necessária. Uma fonte comum de confusão em máquinas Windows de 64 bits é o erro "Incompatibilidade de arquitetura" que você obtém se tentar usar um driver ODBC de 64 bits com um aplicativo de 32 bits ou vice-versa. Se seu aplicativo cliente Informatica for de 64 bits, você deverá usá-lo com um driver ODBC de 64 bits e configurar uma fonte de dados na versão de 64 bits do Administrador de Fonte de Dados ODBC. O administrador de fonte de dados ODBC de 64 bits será o único miniaplicativo ODBC no Painel de controle ou, se houver dois miniaplicativos ODBC, será claramente rotulado como sendo de 64 bits. Para executar o Administrador de Fonte de Dados ODBC de 32 bits, que será usado se seu cliente Informatica for de 32 bits, use este comando:
%windir%\syswow64\odbcad32.exe
No UNIX e Linux, o mesmo problema se aplica:a arquitetura do aplicativo deve ser a mesma do driver ODBC. Portanto, você precisa verificar se o seu cliente Informatica é de 32 bits ou 64 bits e, em seguida, usar um driver ODBC cuja arquitetura seja a mesma. (Observe que saber qual é a arquitetura do seu sistema operacional não é suficiente; você pode executar um aplicativo de 32 bits em um sistema operacional de 64 bits e, portanto, é da arquitetura da Informatica que você precisa.)
Outro problema para quem procura usar um driver ODBC de terceiros com a Informatica é como definir o ambiente e editar os arquivos de configuração ODBC relevantes para que a Informatica possa usar o driver. Conforme mencionado, a distribuição da Informatica inclui um Gerenciador de Driver ODBC e uma seleção de drivers ODBC para vários bancos de dados. A Informatica, portanto, espera:
- Carregue drivers ODBC de um local na estrutura de diretórios da Informatica.
- Encontre fontes de dados ODBC no Gerenciador de drivers agrupado em sua distribuição.
(Para o restante deste artigo, usaremos os drivers ODBC Easysoft como nosso exemplo de drivers ODBC de terceiros.) Embora sejam normalmente usados com o Gerenciador de Driver unixODBC, os drivers ODBC Easysoft são compatíveis com o Gerenciador de Driver ODBC da Informatica.
Quando você tenta se conectar a uma fonte de dados ODBC na Informatica, o aplicativo passa o nome da fonte de dados para o ODBC Driver Manager. O ODBC Driver Manager tenta carregar o driver ODBC referenciado pela fonte de dados e passa o nome da fonte de dados para o driver em uma cadeia de conexão. Supondo que nenhuma outra configuração seja passada na cadeia de conexão, o driver ODBC procura quaisquer outros detalhes de conexão necessários na fonte de dados.
Para começar, instalaremos o Salesforce ODBC Driver da Easysoft em nossa máquina de teste da Informatica. Aceitamos as opções padrão durante a instalação e, portanto, o driver ODBC é instalado em
/usr/local/easysoft
e uma fonte de dados de amostra está instalada em /etc/odbc.ini
:$ cd /tmp $ cd odbc-salesforce-1.0.36-linux-x86-64-ul64 $ su # ./install
Depois de editar a fonte de dados de amostra para especificar o nome de usuário, a senha e o token de segurança do Salesforce, usamos
isql
para testar a conexão com a fonte de dados. # 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>
Agora temos um driver ODBC instalado, licenciado e funcionando, mas ele ainda não está disponível para uso na Informatica.
Para permitir que a Informatica encontre a fonte de dados e carregue o driver, precisamos:
- Copie a fonte de dados de
/etc/odbc.ini
para o$ODBCHOME/odbc.ini
arquivo na distribuição Informatica. - Copie a seção a seguir de
/etc/odbcinst.ini
para o$ODBCHOME/odbcinst.ini
na distribuição 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
Você também precisa configurar o ambiente Informatica para que a biblioteca de tempo de execução C possa carregar as bibliotecas de driver ODBC. Edite a variável de ambiente apropriada para sua plataforma e vinculador dinâmico (
LD_LIBRARY_PATH
, LIBPATH
) e assim por diante). Nossa plataforma Informatica é Linux e, por isso, adicionamos os seguintes diretórios de driver ODBC do Salesforce a LD_LIBRARY_PATH
no arquivo de perfil do usuário do Informatica PowerCenter:/usr/local/easysoft/sf /usr/local/easysoft/lib
Em seguida, reiniciamos o domínio do PowerCenter para que a Informatica captasse as alterações.
A conexão do Salesforce ficou então disponível como um destino ou origem relacional (usando a fonte de dados do Salesforce em uma Conexão Relacional cujo tipo foi definido como ODBC) em nossos fluxos de trabalho da Informatica.