Database
 sql >> Datenbank >  >> RDS >> Database

Verwenden von Easysoft ODBC-Treibern mit Informatica PowerCenter

Informatica kann sowohl native Treiber als auch Treiber von Drittanbietern verwenden, um mit Datenbanken zu kommunizieren. Native Treiber werden vom Datenbankanbieter bereitgestellt, beispielsweise die OCI-Bibliotheken von Oracle oder der SQL Server Native Client von Microsoft. Native Treiber sind die von Informatica empfohlene Datenzugriffsmethode, sofern für Ihre Informatica-Plattform verfügbar.

Die Informatica-Distribution enthält Treiber von Drittanbietern für eine Reihe von Datenbanken. Diese Treiber von Drittanbietern verwenden ODBC, um mit Datenbanken zu kommunizieren. ODBC ist eine datenbankneutrale Schnittstelle, die es ODBC-kompatiblen Anwendungen wie Informatica ermöglicht, mit jeder Datenbank zu arbeiten, für die ein ODBC-Treiber verfügbar ist. ODBC übersetzt die Datenabfragen von Informatica in etwas, das die Zieldatenbank versteht.

ODBC besteht aus zwei Komponenten:dem ODBC-Treiber und dem ODBC-Treiber-Manager. Der ODBC-Treiber ist datenbankspezifisch, d. h. ein Microsoft Access ODBC-Treiber kommuniziert nur mit einer Microsoft Access-Datenbank. Der ODBC-Treibermanager ist die Schnittstelle zwischen Informatica und dem ODBC-Treiber. Der Treiber-Manager ist für das Laden des ODBC-Treibers verantwortlich und isoliert Informatica von der Komponente, die mit der Datenbank interagiert. Diese Architektur ermöglicht es Informatica, Verbindungen zu verschiedenen Datenbanken herzustellen, ohne dass Änderungen an der Anwendung vorgenommen werden.

Unter Windows stellt Microsoft einen ODBC-Treibermanager mit dem Betriebssystem bereit, und dieser wird von Informatica auf dieser Plattform verwendet.

Unter UNIX und Linux enthält die Informatica-Distribution einen ODBC-Treibermanager.

Wir wissen also, dass die ODBC-Architektur es einer Anwendung ermöglicht, mehrere Datenbank-Backends zu unterstützen, indem sie verschiedene datenbankspezifische ODBC-Treiber einbindet. Wie funktioniert das in der Praxis mit Informatica? Was müssen Sie tun, damit Informatica ODBC-Treiber verwenden kann, die nicht mit der Anwendung gebündelt sind.

Unter Windows ist dies unkompliziert. Sie installieren den Treiber unter dem Microsoft ODBC-Treiber-Manager und konfigurieren eine ODBC-Datenquelle im ODBC-Datenquellen-Administrator-Applet, das sich in der Windows-Systemsteuerung befindet. Die ODBC-Datenquelle steht dann für die Verwendung in Informatica zur Verfügung; Es ist keine weitere Konfiguration erforderlich. Eine häufige Ursache für Verwirrung auf 64-Bit-Windows-Computern ist der Fehler „Architecture Mismatch“, den Sie erhalten, wenn Sie versuchen, einen 64-Bit-ODBC-Treiber mit einer 32-Bit-Anwendung oder umgekehrt zu verwenden. Wenn Ihre Informatica-Clientanwendung 64-Bit ist, müssen Sie sie mit einem 64-Bit-ODBC-Treiber verwenden und eine Datenquelle in der 64-Bit-Version von ODBC Data Source Administrator konfigurieren. Der 64-Bit-ODBC-Datenquellen-Administrator ist entweder das einzige ODBC-Applet in der Systemsteuerung, oder wenn es zwei ODBC-Applets gibt, wird er eindeutig als 64-Bit gekennzeichnet. Um den 32-Bit-ODBC-Datenquellen-Administrator auszuführen, den Sie verwenden müssen, wenn Ihr Informatica-Client 32-Bit ist, verwenden Sie diesen Befehl:

%windir%\syswow64\odbcad32.exe

Unter UNIX und Linux gilt dasselbe Problem:Die Architektur der Anwendung muss mit der des ODBC-Treibers übereinstimmen. Sie müssen daher überprüfen, ob Ihr Informatica-Client 32-Bit oder 64-Bit ist, und dann einen ODBC-Treiber verwenden, dessen Architektur dieselbe ist. (Beachten Sie, dass es nicht ausreicht, die Architektur Ihres Betriebssystems zu kennen; Sie können eine 32-Bit-Anwendung auf einem 64-Bit-Betriebssystem ausführen, daher benötigen Sie die Architektur von Informatica.)

Ein weiteres Problem für diejenigen, die einen ODBC-Treiber eines Drittanbieters mit Informatica verwenden möchten, ist die Einrichtung der Umgebung und die Bearbeitung der relevanten ODBC-Konfigurationsdateien, sodass Informatica den Treiber verwenden kann. Wie bereits erwähnt, enthält die Informatica-Distribution sowohl einen ODBC-Treibermanager als auch eine Auswahl an ODBC-Treibern für verschiedene Datenbanken. Informatica erwartet daher Folgendes:

  • Laden Sie ODBC-Treiber von einem Speicherort in der Informatica-Verzeichnisstruktur.
  • Finden Sie ODBC-Datenquellen unter dem Treiber-Manager, der in seiner Distribution gebündelt ist.

(Für den Rest dieses Artikels verwenden wir Easysoft ODBC-Treiber als Beispiel für ODBC-Treiber von Drittanbietern.) Obwohl sie normalerweise mit dem unixODBC-Treiber-Manager verwendet werden, sind Easysoft-ODBC-Treiber mit dem ODBC-Treiber-Manager von Informatica kompatibel.

Wenn Sie versuchen, eine Verbindung zu einer ODBC-Datenquelle in Informatica herzustellen, übergibt die Anwendung den Namen der Datenquelle an den ODBC-Treiber-Manager. Der ODBC-Treiber-Manager versucht, den ODBC-Treiber zu laden, auf den von der Datenquelle verwiesen wird, und übergibt den Namen der Datenquelle in einer Verbindungszeichenfolge an den Treiber. Vorausgesetzt, dass keine anderen Einstellungen in der Verbindungszeichenfolge übergeben werden, sucht der ODBC-Treiber alle anderen Verbindungsdetails, die er in der Datenquelle benötigt.

Zu Beginn installieren wir den Salesforce ODBC-Treiber von Easysoft auf unserem Informatica-Testcomputer. Wir akzeptieren die Standardauswahl während der Installation und daher wird der ODBC-Treiber in /usr/local/easysoft installiert und eine Beispieldatenquelle ist in /etc/odbc.ini installiert :

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

Nachdem wir die Beispieldatenquelle so bearbeitet haben, dass sie den Salesforce-Benutzernamen, das Kennwort und das Sicherheitstoken angibt, verwenden wir isql um die Verbindung zur Datenquelle zu testen.

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

Wir haben jetzt einen installierten, lizenzierten und funktionierenden ODBC-Treiber, aber er ist noch nicht für die Verwendung in Informatica verfügbar.

Damit Informatica die Datenquelle finden und den Treiber laden kann, müssen wir:

  • Kopieren Sie die Datenquelle aus /etc/odbc.ini in die $ODBCHOME/odbc.ini Datei in der Informatica-Distribution.
  • Kopieren Sie den folgenden Abschnitt aus /etc/odbcinst.ini in die $ODBCHOME/odbcinst.ini Datei in der Informatica-Distribution:
    [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
    

Außerdem müssen Sie die Informatica-Umgebung so konfigurieren, dass die C-Laufzeitbibliothek die ODBC-Treiberbibliotheken laden kann. Bearbeiten Sie die entsprechende Umgebungsvariable für Ihre Plattform und Ihren dynamischen Linker (LD_LIBRARY_PATH , LIBPATH ) und so weiter). Unsere Informatica-Plattform ist Linux, und deshalb haben wir die folgenden Salesforce-ODBC-Treiberverzeichnisse zu LD_LIBRARY_PATH hinzugefügt in der Profildatei für den Informatica PowerCenter-Benutzer:

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

Anschließend haben wir die PowerCenter-Domäne neu gestartet, sodass Informatica die Änderungen übernommen hat.

Die Salesforce-Verbindung war dann als relationales Ziel oder Quelle (durch Verwendung der Salesforce-Datenquelle in einer relationalen Verbindung, deren Typ auf ODBC eingestellt war) in unseren Informatica-Workflows verfügbar.