Informatica kan använda både inbyggda drivrutiner och drivrutiner från tredje part för att kommunicera med databaser. Inbyggda drivrutiner tillhandahålls av databasleverantören, till exempel Oracles OCI-bibliotek eller Microsofts SQL Server Native Client. Inbyggda drivrutiner är Informaticas rekommenderade dataåtkomstmetod, när de är tillgängliga för din Informatica-plattform.
Informatica-distributionen inkluderar tredjepartsdrivrutiner för ett antal databaser. Dessa tredjepartsdrivrutiner använder ODBC för att kommunicera med databaser. ODBC är ett databasneutralt gränssnitt som gör att ODBC-kompatibla applikationer som Informatica kan fungera med vilken databas som helst för vilken en ODBC-drivrutin är tillgänglig. ODBC översätter Informaticas datafrågor till något måldatabasen förstår.
ODBC har två komponenter:ODBC-drivrutinen och ODBC-drivrutinshanteraren. ODBC-drivrutinen är databasspecifik, det vill säga en Microsoft Access ODBC-drivrutin kommer bara att prata med en Microsoft Access-databas. ODBC Driver Manager är gränssnittet mellan Informatica och ODBC-drivrutinen. Drivrutinhanteraren är ansvarig för att ladda ODBC-drivrutinen, isolera Informatica från den komponent som interagerar med databasen. Denna arkitektur gör det möjligt för Informatica att ansluta till olika databaser utan att några ändringar görs i applikationen.
På Windows tillhandahåller Microsoft en ODBC Driver Manager med operativsystemet, och det är det som Informatica använder på den här plattformen.
På UNIX och Linux innehåller Informatica-distributionen en ODBC Driver Manager.
Så vi vet att ODBC-arkitekturen tillåter en applikation att stödja flera databasbackends genom att koppla in olika databasspecifika ODBC-drivrutiner. Hur fungerar detta i praktiken med Informatica? Vad behöver du göra för att göra det möjligt för Informatica att använda ODBC-drivrutiner som inte medföljer programmet.
På Windows är detta enkelt. Du installerar drivrutinen under Microsoft ODBC Driver Manager och konfigurerar en ODBC-datakälla i appletprogrammet ODBC Data Source Administrator, som finns i Windows Kontrollpanel. ODBC-datakällan är sedan tillgänglig för användning i Informatica; ingen ytterligare konfiguration krävs. En vanlig källa till förvirring på 64-bitars Windows-datorer är felet "Architecture Mismatch" som du får om du försöker använda en 64-bitars ODBC-drivrutin med ett 32-bitarsprogram eller vice versa. Om din Informatica-klientapplikation är 64-bitars måste du använda den med en 64-bitars ODBC-drivrutin och konfigurera en datakälla i 64-bitarsversionen av ODBC Data Source Administrator. 64-bitars ODBC-datakälla-administratören kommer antingen att vara den enda ODBC-appleten på kontrollpanelen, eller om det finns två ODBC-appletar kommer den att vara tydligt märkt som 64-bitars. För att köra 32-bitars ODBC Data Source Administrator, som är den som ska användas om din Informatica-klient är 32-bitar, använd det här kommandot:
%windir%\syswow64\odbcad32.exe
På UNIX och Linux gäller samma problem:programmets arkitektur måste vara densamma som ODBC-drivrutinen. Du måste därför kontrollera om din Informatica-klient är 32-bitars eller 64-bitars och sedan använda en ODBC-drivrutin vars arkitektur är densamma. (Observera att det inte räcker att veta vilken arkitektur ditt operativsystem är; du kan köra en 32-bitars applikation på ett 64-bitars operativsystem och det är därför Informaticas arkitektur du behöver.)
En annan fråga för de som vill använda en tredje parts ODBC-drivrutin med Informatica är hur man ställer in miljön och redigerar relevanta ODBC-konfigurationsfiler så att Informatica kan använda drivrutinen. Som nämnts innehåller Informatica-distributionen både en ODBC Driver Manager och ett urval av ODBC-drivrutiner för olika databaser. Informatica förväntar sig därför att:
- Ladda ODBC-drivrutiner från en plats under Informatica-katalogstrukturen.
- Hitta ODBC-datakällor under drivrutinshanteraren som ingår i distributionen.
(För resten av den här artikeln kommer vi att använda Easysoft ODBC-drivrutiner som våra exempel på ODBC-drivrutiner från tredje part.) Även om de vanligtvis används med unixODBC Driver Manager, är Easysoft ODBC-drivrutiner kompatibla med Informaticas ODBC Driver Manager.
När du försöker ansluta till en ODBC-datakälla i Informatica skickar programmet datakällnamnet till ODBC-drivrutinshanteraren. ODBC Driver Manager försöker ladda ODBC-drivrutinen som datakällan refererar till och skickar datakällans namn till drivrutinen i en anslutningssträng. Förutsatt att inga andra inställningar skickas i anslutningssträngen, letar ODBC-drivrutinen upp alla andra anslutningsdetaljer som den behöver i datakällan.
För att komma igång kommer vi att installera Easysofts Salesforce ODBC-drivrutin på vår Informatica-testmaskin. Vi accepterar standardvalen under installationen och därför installeras ODBC-drivrutinen i /usr/local/easysoft
och en exempeldatakälla är installerad i /etc/odbc.ini
:
$ cd /tmp $ cd odbc-salesforce-1.0.36-linux-x86-64-ul64 $ su # ./install
Efter att ha redigerat exempeldatakällan så att den angav Salesforces användarnamn, lösenord och säkerhetstoken, använder vi isql
för att testa anslutningen till datakällan.
# 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 installerad, licensierad och fungerande ODBC-drivrutin, men den är ännu inte tillgänglig för användning i Informatica.
För att göra det möjligt för Informatica att hitta datakällan och ladda drivrutinen måste vi:
- Kopiera datakällan från
/etc/odbc.ini
till$ODBCHOME/odbc.ini
fil i Informatica-distributionen. - Kopiera följande avsnitt från
/etc/odbcinst.ini
till$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 måste också konfigurera Informatica-miljön så att C runtime-biblioteket kan ladda ODBC-drivrutinsbiblioteken. Redigera lämplig miljövariabel för din plattform och din dynamiska länk (LD_LIBRARY_PATH
, LIBPATH
) och så vidare). Vår Informatica-plattform är Linux, så vi lade till följande Salesforce ODBC-drivrutinkataloger till LD_LIBRARY_PATH
i profilfilen för Informatica PowerCenter-användaren:
/usr/local/easysoft/sf /usr/local/easysoft/lib
Vi startade sedan om PowerCenter-domänen så att Informatica tog upp ändringarna.
Salesforce-anslutningen var sedan tillgänglig som ett relationsmål eller källa (genom att använda Salesforce-datakällan i en relationell anslutning vars typ var inställd på ODBC) i våra Informatica-arbetsflöden.