Informatica può utilizzare sia driver nativi che driver di terze parti per comunicare con i database. I driver nativi sono forniti dal fornitore del database, ad esempio le librerie OCI di Oracle o SQL Server Native Client di Microsoft. I driver nativi sono il metodo di accesso ai dati consigliato da Informatica, se disponibile per la tua piattaforma Informatica.
La distribuzione Informatica include driver di terze parti per numerosi database. Questi driver di terze parti utilizzano ODBC per comunicare con i database. ODBC è un'interfaccia indipendente dal database che consente alle applicazioni compatibili con ODBC come Informatica di funzionare con qualsiasi database per il quale è disponibile un driver ODBC. ODBC traduce le query di dati di Informatica in qualcosa che il database di destinazione comprende.
ODBC ha due componenti:il driver ODBC e ODBC Driver Manager. Il driver ODBC è specifico del database, ovvero un driver ODBC di Microsoft Access parlerà solo con un database di Microsoft Access. ODBC Driver Manager è l'interfaccia tra Informatica e il driver ODBC. Il Driver Manager è responsabile del caricamento del driver ODBC, isolando Informatica dal componente che interagisce con il database. Questa architettura consente a Informatica di connettersi a database diversi senza che vengano apportate modifiche all'applicazione.
Su Windows, Microsoft fornisce un ODBC Driver Manager con il sistema operativo, e questo è quello che Informatica utilizza su questa piattaforma.
Su UNIX e Linux, la distribuzione Informatica include un ODBC Driver Manager.
Quindi sappiamo che l'architettura ODBC consente a un'applicazione di supportare più backend di database collegando diversi driver ODBC specifici del database. Come funziona in pratica con Informatica? Cosa è necessario fare per consentire a Informatica di utilizzare i driver ODBC che non sono inclusi nell'applicazione.
Su Windows, questo è semplice. Si installa il driver in Microsoft ODBC Driver Manager e si configura un'origine dati ODBC nell'applet ODBC Data Source Administrator, che si trova nel Pannello di controllo di Windows. L'origine dati ODBC è quindi disponibile per l'uso in Informatica; non sono necessarie ulteriori configurazioni. Una fonte comune di confusione sui computer Windows a 64 bit è l'errore "Architecture Mismatch" che viene visualizzato se si tenta di utilizzare un driver ODBC a 64 bit con un'applicazione a 32 bit o viceversa. Se l'applicazione client Informatica è a 64 bit, è necessario utilizzarla con un driver ODBC a 64 bit e configurare un'origine dati nella versione a 64 bit di ODBC Data Source Administrator. L'amministratore dell'origine dati ODBC a 64 bit sarà l'unica applet ODBC nel Pannello di controllo o, se sono presenti due applet ODBC, verrà etichettata chiaramente come a 64 bit. Per eseguire l'amministratore dell'origine dati ODBC a 32 bit, che è quello da utilizzare se il client Informatica è a 32 bit, utilizzare questo comando:
%windir%\syswow64\odbcad32.exe
Su UNIX e Linux, si applica lo stesso problema:l'architettura dell'applicazione deve essere la stessa del driver ODBC. È quindi necessario verificare se il client Informatica è a 32 o 64 bit e quindi utilizzare un driver ODBC la cui architettura è la stessa. (Tieni presente che conoscere l'architettura del tuo sistema operativo non è sufficiente; puoi eseguire un'applicazione a 32 bit su un sistema operativo a 64 bit e quindi è l'architettura di Informatica di cui hai bisogno.)
Un altro problema per coloro che cercano di utilizzare un driver ODBC di terze parti con Informatica è come impostare l'ambiente e modificare i file di configurazione ODBC rilevanti in modo che Informatica possa utilizzare il driver. Come accennato, la distribuzione Informatica include sia un ODBC Driver Manager che una selezione di driver ODBC per vari database. Informatica si aspetta quindi di:
- Carica i driver ODBC da una posizione nella struttura della directory di Informatica.
- Trova le origini dati ODBC in Driver Manager incluso nella sua distribuzione.
(Per il resto di questo articolo, utilizzeremo i driver ODBC Easysoft come esempi di driver ODBC di terze parti.) Sebbene vengano in genere utilizzati con unixODBC Driver Manager, i driver ODBC Easysoft sono compatibili con ODBC Driver Manager di Informatica.
Quando si tenta di connettersi a un'origine dati ODBC in Informatica, l'applicazione passa il nome dell'origine dati a ODBC Driver Manager. Gestione driver ODBC tenta di caricare il driver ODBC a cui fa riferimento l'origine dati e passa il nome dell'origine dati al driver in una stringa di connessione. Supponendo che non vengano passate altre impostazioni nella stringa di connessione, il driver ODBC cerca tutti gli altri dettagli di connessione necessari nell'origine dati.
Per iniziare, installeremo Salesforce ODBC Driver di Easysoft sulla nostra macchina di prova Informatica. Accettiamo le scelte predefinite durante l'installazione e quindi il driver ODBC viene installato in /usr/local/easysoft
e un'origine dati di esempio viene installata in /etc/odbc.ini
:
$ cd /tmp $ cd odbc-salesforce-1.0.36-linux-x86-64-ul64 $ su # ./install
Dopo aver modificato l'origine dati di esempio in modo che specifichi il nome utente, la password e il token di sicurezza Salesforce, utilizziamo isql
per testare la connessione all'origine dati.
# 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>
Ora abbiamo un driver ODBC installato, concesso in licenza e funzionante, ma non è ancora disponibile per l'uso in Informatica.
Per consentire a Informatica di trovare l'origine dati e caricare il driver, è necessario:
- Copia l'origine dati da
/etc/odbc.ini
al$ODBCHOME/odbc.ini
file nella distribuzione Informatica. - Copia la seguente sezione da
/etc/odbcinst.ini
al$ODBCHOME/odbcinst.ini
file nella distribuzione 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
È inoltre necessario configurare l'ambiente Informatica in modo che la libreria di runtime C sia in grado di caricare le librerie di driver ODBC. Modifica la variabile di ambiente appropriata per la tua piattaforma e il linker dinamico (LD_LIBRARY_PATH
, LIBPATH
) e così via). La nostra piattaforma Informatica è Linux, quindi abbiamo aggiunto le seguenti directory dei driver ODBC di Salesforce a LD_LIBRARY_PATH
nel file del profilo per l'utente di Informatica PowerCenter:
/usr/local/easysoft/sf /usr/local/easysoft/lib
Abbiamo quindi riavviato il dominio PowerCenter in modo che Informatica rilevasse le modifiche.
La connessione Salesforce era quindi disponibile come destinazione o origine relazionale (utilizzando l'origine dati Salesforce in una connessione relazionale il cui tipo era impostato su ODBC) nei nostri flussi di lavoro Informatica.