Informatica kan bruge både indbyggede drivere og tredjepartsdrivere til at kommunikere med databaser. Native drivere leveres af databaseleverandøren, for eksempel Oracles OCI-biblioteker eller Microsofts SQL Server Native Client. Indbyggede drivere er Informaticas anbefalede dataadgangsmetode, når de er tilgængelige for din Informatica-platform.
Informatica-distributionen inkluderer tredjepartsdrivere til en række databaser. Disse tredjepartsdrivere bruger ODBC til at kommunikere med databaser. ODBC er en databaseneutral grænseflade, der gør det muligt for ODBC-kompatible applikationer såsom Informatica at arbejde med enhver database, som en ODBC-driver er tilgængelig for. ODBC oversætter Informaticas dataforespørgsler til noget måldatabasen forstår.
ODBC har to komponenter:ODBC-driveren og ODBC Driver Manager. ODBC-driveren er databasespecifik, dvs. en Microsoft Access ODBC-driver vil kun tale med en Microsoft Access-database. ODBC Driver Manager er grænsefladen mellem Informatica og ODBC driveren. Driver Manager er ansvarlig for at indlæse ODBC-driveren, der isolerer Informatica fra den komponent, der interagerer med databasen. Denne arkitektur gør det muligt for Informatica at oprette forbindelse til forskellige databaser uden at der foretages ændringer i applikationen.
På Windows leverer Microsoft en ODBC Driver Manager med operativsystemet, og det er denne, som Informatica bruger på denne platform.
På UNIX og Linux inkluderer Informatica-distributionen en ODBC Driver Manager.
Så vi ved, at ODBC-arkitekturen tillader en applikation at understøtte flere database-backends ved at tilslutte forskellige databasespecifikke ODBC-drivere. Hvordan fungerer det i praksis med Informatica? Hvad skal du gøre for at gøre det muligt for Informatica at bruge ODBC-drivere, der ikke er bundtet med applikationen.
På Windows er dette ligetil. Du installerer driveren under Microsoft ODBC Driver Manager og konfigurerer en ODBC datakilde i ODBC Data Source Administrator applet, som er placeret i Windows Kontrolpanel. ODBC-datakilden er så tilgængelig til brug i Informatica; ingen yderligere konfiguration er påkrævet. En almindelig kilde til forvirring på 64-bit Windows-maskiner er fejlen "Architecture Mismatch", som du får, hvis du forsøger at bruge en 64-bit ODBC-driver med et 32-bit program eller omvendt. Hvis dit Informatica-klientprogram er 64-bit, skal du bruge det med en 64-bit ODBC-driver og konfigurere en datakilde i 64-bit-versionen af ODBC Data Source Administrator. 64-bit ODBC-datakildeadministratoren vil enten være den eneste ODBC-applet i kontrolpanelet, eller hvis der er to ODBC-applets, vil den tydeligt blive markeret som værende 64-bit. For at køre 32-bit ODBC Data Source Administrator, som er den, der skal bruges, hvis din Informatica-klient er 32-bit, skal du bruge denne kommando:
%windir%\syswow64\odbcad32.exe
På UNIX og Linux gælder det samme problem:applikationens arkitektur skal være den samme som ODBC-driverens. Du skal derfor tjekke om din Informatica-klient er 32-bit eller 64-bit og derefter bruge en ODBC-driver, hvis arkitektur er den samme. (Bemærk, at det ikke er tilstrækkeligt at vide, hvilken arkitektur dit operativsystem er; du kan køre en 32-bit applikation på et 64-bit operativsystem, og det er derfor Informaticas arkitektur, du har brug for.)
Et andet problem for dem, der søger at bruge en tredjeparts ODBC-driver med Informatica, er, hvordan man indstiller miljøet og redigerer de relevante ODBC-konfigurationsfiler, således at Informatica kan bruge driveren. Som nævnt omfatter Informatica-distributionen både en ODBC Driver Manager og et udvalg af ODBC-drivere til forskellige databaser. Informatica forventer derfor at:
- Indlæs ODBC-drivere fra en placering under Informatica-biblioteksstrukturen.
- Find ODBC-datakilder under Driver Manager, der er bundtet i dens distribution.
(I resten af denne artikel vil vi bruge Easysoft ODBC-drivere som vores eksempel på tredjeparts ODBC-drivere.) Selvom de typisk bruges med unixODBC Driver Manager, er Easysoft ODBC-drivere kompatible med Informaticas ODBC Driver Manager.
Når du forsøger at oprette forbindelse til en ODBC-datakilde i Informatica, sender applikationen datakildenavnet til ODBC Driver Manager. ODBC Driver Manager forsøger at indlæse ODBC-driveren, som datakilden refererer til, og sender datakildenavnet til driveren i en forbindelsesstreng. Forudsat at der ikke sendes andre indstillinger i forbindelsesstrengen, søger ODBC-driveren alle andre forbindelsesdetaljer, den har brug for, i datakilden.
For at komme i gang vil vi installere Easysofts Salesforce ODBC-driver på vores Informatica-testmaskine. Vi accepterer standardvalgene under installationen, og derfor er ODBC-driveren installeret i /usr/local/easysoft
og en eksempeldatakilde er installeret i /etc/odbc.ini
:
$ cd /tmp $ cd odbc-salesforce-1.0.36-linux-x86-64-ul64 $ su # ./install
Efter at have redigeret eksempeldatakilden, så den specificerede Salesforce-brugernavnet, adgangskoden og sikkerhedstokenet, bruger vi isql
for at teste forbindelsen til datakilden.
# 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>
Vi har nu en installeret, licenseret og fungerende ODBC-driver, men den er endnu ikke tilgængelig til brug i Informatica.
For at gøre det muligt for Informatica at finde datakilden og indlæse driveren, skal vi:
- Kopiér datakilden fra
/etc/odbc.ini
til$ODBCHOME/odbc.ini
fil i Informatica-distributionen. - Kopiér følgende afsnit fra
/etc/odbcinst.ini
til$ODBCHOME/odbcinst.ini
fil i Informatica-distributionen:[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
Du skal også konfigurere Informatica-miljøet, så C runtime-biblioteket er i stand til at indlæse ODBC-driverbibliotekerne. Rediger den relevante miljøvariabel for din platform og dynamiske linker (LD_LIBRARY_PATH
, LIBPATH
) og så videre). Vores Informatica-platform er Linux, og derfor har vi tilføjet følgende Salesforce ODBC-drivermapper til LD_LIBRARY_PATH
i profilfilen for Informatica PowerCenter-brugeren:
/usr/local/easysoft/sf /usr/local/easysoft/lib
Vi genstartede derefter PowerCenter-domænet, så Informatica opfangede ændringerne.
Salesforce-forbindelsen var derefter tilgængelig som et relationelt mål eller kilde (ved at bruge Salesforce-datakilden i en relationel forbindelse, hvis type var indstillet til ODBC) i vores Informatica-arbejdsgange.