Database
 sql >> Base de données >  >> RDS >> Database

Utilisation des pilotes ODBC Easysoft avec Informatica PowerCenter

Informatica peut utiliser à la fois des pilotes natifs et des pilotes tiers pour communiquer avec les bases de données. Les pilotes natifs sont fournis par le fournisseur de la base de données, par exemple, les bibliothèques OCI d'Oracle ou SQL Server Native Client de Microsoft. Les pilotes natifs sont la méthode d'accès aux données recommandée par Informatica, lorsqu'ils sont disponibles pour votre plate-forme Informatica.

La distribution Informatica inclut des pilotes tiers pour un certain nombre de bases de données. Ces pilotes tiers utilisent ODBC pour communiquer avec les bases de données. ODBC est une interface indépendante de la base de données qui permet aux applications compatibles ODBC telles qu'Informatica de fonctionner avec n'importe quelle base de données pour laquelle un pilote ODBC est disponible. ODBC traduit les requêtes de données d'Informatica en quelque chose que la base de données cible comprend.

ODBC a deux composants :le pilote ODBC et le gestionnaire de pilotes ODBC. Le pilote ODBC est spécifique à la base de données, c'est-à-dire qu'un pilote ODBC Microsoft Access ne communiquera qu'avec une base de données Microsoft Access. Le gestionnaire de pilotes ODBC est l'interface entre Informatica et le pilote ODBC. Le gestionnaire de pilotes est responsable du chargement du pilote ODBC, isolant Informatica du composant qui interagit avec la base de données. Cette architecture permet à Informatica de se connecter à différentes bases de données sans qu'aucune modification ne soit apportée à l'application.

Sous Windows, Microsoft fournit un gestionnaire de pilotes ODBC avec le système d'exploitation, et c'est celui qu'Informatica utilise sur cette plate-forme.

Sous UNIX et Linux, la distribution Informatica inclut un gestionnaire de pilotes ODBC.

Nous savons donc que l'architecture ODBC permet à une application de prendre en charge plusieurs backends de base de données en connectant différents pilotes ODBC spécifiques à la base de données. Comment cela fonctionne-t-il en pratique avec Informatica ? Que devez-vous faire pour permettre à Informatica d'utiliser les pilotes ODBC qui ne sont pas fournis avec l'application.

Sous Windows, c'est simple. Vous installez le pilote sous Microsoft ODBC Driver Manager et configurez une source de données ODBC dans l'applet ODBC Data Source Administrator, qui se trouve dans le Panneau de configuration de Windows. La source de données ODBC est alors disponible pour une utilisation dans Informatica; aucune autre configuration n'est requise. Une source courante de confusion sur les machines Windows 64 bits est l'erreur "Architecture Mismatch" que vous obtenez si vous essayez d'utiliser un pilote ODBC 64 bits avec une application 32 bits ou vice versa. Si votre application client Informatica est 64 bits, vous devez l'utiliser avec un pilote ODBC 64 bits et configurer une source de données dans la version 64 bits de l'administrateur de source de données ODBC. L'administrateur de source de données ODBC 64 bits sera soit la seule applet ODBC dans le Panneau de configuration, soit s'il y a deux applets ODBC, sera clairement étiqueté comme étant 64 bits. Pour exécuter l'administrateur de source de données ODBC 32 bits, qui est celui à utiliser si votre client Informatica est 32 bits, utilisez cette commande :

%windir%\syswow64\odbcad32.exe

Sous UNIX et Linux, le même problème s'applique :l'architecture de l'application doit être la même que celle du pilote ODBC. Vous devez donc vérifier si votre client Informatica est 32 bits ou 64 bits puis utiliser un pilote ODBC dont l'architecture est la même. (Notez que connaître l'architecture de votre système d'exploitation n'est pas suffisant ; vous pouvez exécuter une application 32 bits sur un système d'exploitation 64 bits et c'est donc l'architecture d'Informatica dont vous avez besoin.)

Un autre problème pour ceux qui cherchent à utiliser un pilote ODBC tiers avec Informatica est de savoir comment définir l'environnement et modifier les fichiers de configuration ODBC pertinents de sorte qu'Informatica puisse utiliser le pilote. Comme mentionné, la distribution Informatica inclut à la fois un gestionnaire de pilotes ODBC et une sélection de pilotes ODBC pour diverses bases de données. Informatica s'attend donc à :

  • Charger les pilotes ODBC à partir d'un emplacement sous la structure de répertoire Informatica.
  • Recherchez les sources de données ODBC dans le gestionnaire de pilotes inclus dans sa distribution.

(Pour le reste de cet article, nous utiliserons les pilotes ODBC Easysoft comme exemples de pilotes ODBC tiers.) Bien qu'ils soient généralement utilisés avec le gestionnaire de pilotes unixODBC, les pilotes ODBC Easysoft sont compatibles avec le gestionnaire de pilotes ODBC d'Informatica.

Lorsque vous tentez de vous connecter à une source de données ODBC dans Informatica, l'application transmet le nom de la source de données au gestionnaire de pilotes ODBC. Le gestionnaire de pilotes ODBC tente de charger le pilote ODBC référencé par la source de données et transmet le nom de la source de données au pilote dans une chaîne de connexion. En supposant qu'aucun autre paramètre n'est transmis dans la chaîne de connexion, le pilote ODBC recherche tous les autres détails de connexion dont il a besoin dans la source de données.

Pour commencer, nous allons installer le pilote ODBC Salesforce d'Easysoft sur notre machine de test Informatica. Nous acceptons les choix par défaut lors de l'installation et donc le pilote ODBC est installé dans /usr/local/easysoft et un exemple de source de données est installé dans /etc/odbc.ini :

$ cd /tmp
$ cd odbc-salesforce-1.0.36-linux-x86-64-ul64
$ su
# ./install

Après avoir modifié l'exemple de source de données afin qu'il spécifie le nom d'utilisateur, le mot de passe et le jeton de sécurité Salesforce, nous utilisons isql pour tester la connexion à la source de données.

# 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>

Nous avons maintenant un pilote ODBC installé, sous licence et fonctionnel, mais il n'est pas encore disponible pour une utilisation dans Informatica.

Pour permettre à Informatica de trouver la source de données et de charger le pilote, nous devons :

  • Copiez la source de données depuis /etc/odbc.ini au $ODBCHOME/odbc.ini fichier dans la distribution Informatica.
  • Copiez la section suivante depuis /etc/odbcinst.ini au $ODBCHOME/odbcinst.ini fichier dans la distribution 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
    

Vous devez également configurer l'environnement Informatica afin que la bibliothèque d'exécution C puisse charger les bibliothèques de pilotes ODBC. Modifiez la variable d'environnement appropriée pour votre plate-forme et votre éditeur de liens dynamique (LD_LIBRARY_PATH , LIBPATH ) etc). Notre plate-forme Informatica est Linux, et nous avons donc ajouté les répertoires de pilotes ODBC Salesforce suivants à LD_LIBRARY_PATH dans le fichier de profil de l'utilisateur d'Informatica PowerCenter :

/usr/local/easysoft/sf
/usr/local/easysoft/lib

Nous avons ensuite redémarré le domaine PowerCenter afin qu'Informatica récupère les modifications.

La connexion Salesforce était alors disponible en tant que cible ou source relationnelle (en utilisant la source de données Salesforce dans une connexion relationnelle dont le type était défini sur ODBC) dans nos workflows Informatica.