Informatica може да използва както собствени драйвери, така и драйвери на трети страни за комуникация с бази данни. Вградените драйвери се предоставят от доставчика на база данни, например OCI библиотеките на Oracle или собствения клиент на Microsoft SQL Server. Вградените драйвери са препоръчания от Informatica метод за достъп до данни, когато са налични за вашата платформа Informatica.
Дистрибуцията на Informatica включва драйвери на трети страни за редица бази данни. Тези драйвери на трети страни използват ODBC за комуникация с бази данни. ODBC е неутрален за база данни интерфейс, който позволява на ODBC съвместими приложения като Informatica да работят с всяка база данни, за която е наличен ODBC драйвер. ODBC превежда заявките за данни на Informatica в нещо, което целевата база данни разбира.
ODBC има два компонента:ODBC драйвер и ODBC Driver Manager. ODBC драйверът е специфичен за база данни, т.е. ODBC драйвер на Microsoft Access ще разговаря само с база данни на Microsoft Access. ODBC Driver Manager е интерфейсът между Informatica и ODBC драйвера. Мениджърът на драйвери е отговорен за зареждането на ODBC драйвера, като изолира Informatica от компонента, който взаимодейства с базата данни. Тази архитектура позволява на Informatica да се свързва с различни бази данни, без да се правят промени в приложението.
В Windows Microsoft предоставя ODBC Driver Manager с операционната система и това е този, който Informatica използва на тази платформа.
В UNIX и Linux дистрибуцията на Informatica включва ODBC Driver Manager.
Така че знаем, че ODBC архитектурата позволява на приложение да поддържа множество бекендове на база данни чрез включване на различни специфични за базата данни ODBC драйвери. Как става това на практика с Informatica? Какво трябва да направите, за да разрешите на Informatica да използва ODBC драйвери, които не са в комплект с приложението.
В Windows това е лесно. Инсталирате драйвера под диспечера на драйвери на Microsoft ODBC и конфигурирате източник на ODBC данни в аплета на ODBC Data Source Administrator, който се намира в контролния панел на Windows. След това източникът на ODBC данни е достъпен за използване в Informatica; не се изисква допълнителна конфигурация. Често срещан източник на объркване при 64-битови машини с Windows е грешката „Архитектурно несъответствие“, която получавате, ако се опитате да използвате 64-битов ODBC драйвер с 32-битово приложение или обратно. Ако вашето клиентско приложение на Informatica е 64-битово, трябва да го използвате с 64-битов ODBC драйвер и да конфигурирате източник на данни в 64-битовата версия на ODBC Data Source Administrator. 64-битовият ODBC администратор на източник на данни или ще бъде единственият ODBC аплет в контролния панел, или ако има два ODBC аплета, ще бъде ясно обозначен като 64-битов. За да стартирате 32-битовия ODBC Data Source Administrator, който е този, който трябва да използвате, ако вашият клиент на Informatica е 32-битов, използвайте тази команда:
%windir%\syswow64\odbcad32.exe
При UNIX и Linux важи същият проблем:архитектурата на приложението трябва да е същата като на ODBC драйвера. Следователно трябва да проверите дали вашият клиент на Informatica е 32-битов или 64-битов и след това да използвате ODBC драйвер, чиято архитектура е същата. (Обърнете внимание, че не е достатъчно да знаете каква архитектура е вашата операционна система; можете да стартирате 32-битово приложение на 64-битова операционна система и затова се нуждаете от архитектурата на Informatica.)
Друг проблем за тези, които искат да използват ODBC драйвер на трета страна с Informatica, е как да настроят средата и да редактират съответните ODBC конфигурационни файлове, така че Informatica да може да използва драйвера. Както споменахме, дистрибуцията на Informatica включва както ODBC Driver Manager, така и селекция от ODBC драйвери за различни бази данни. Следователно Informatica очаква да:
- Заредете ODBC драйвери от място под структурата на директорията Informatica.
- Намерете ODBC източници на данни под диспечера на драйвери, включени в неговото разпространение.
(За останалата част от тази статия ще използваме драйвери на Easysoft ODBC като пример за ODBC драйвери на трети страни.) Въпреки че те обикновено се използват с unixODBC Driver Manager, Easysoft ODBC драйверите са съвместими с ODBC Driver Manager на Informatica.
Когато се опитате да се свържете с ODBC източник на данни в Informatica, приложението предава името на източника на данни на ODBC Driver Manager. ODBC Driver Manager се опитва да зареди ODBC драйвера, посочен от източника на данни, и предава името на източника на данни на драйвера в низ за връзка. Ако приемем, че в низа за връзка не са предадени други настройки, ODBC драйверът търси всички други подробности за връзката, от които се нуждае, в източника на данни.
За да започнете, ще инсталираме Salesforce ODBC драйвер на Easysoft на нашата тестова машина Informatica. Приемаме опциите по подразбиране по време на инсталацията и така ODBC драйверът се инсталира в /usr/local/easysoft
и примерен източник на данни е инсталиран в /etc/odbc.ini
:
$ cd /tmp $ cd odbc-salesforce-1.0.36-linux-x86-64-ul64 $ su # ./install
След като редактираме примерния източник на данни, така че да посочи потребителското име, паролата и токена за защита на Salesforce, ние използваме isql
за да тествате връзката с източника на данни.
# 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>
Вече имаме инсталиран, лицензиран и функциониращ ODBC драйвер, но той все още не е наличен за използване в Informatica.
За да позволим на Informatica да намери източника на данни и да зареди драйвера, трябва да:
- Копирайте източника на данни от
/etc/odbc.ini
към$ODBCHOME/odbc.ini
файл в дистрибуцията на Informatica. - Копирайте следния раздел от
/etc/odbcinst.ini
към$ODBCHOME/odbcinst.ini
файл в дистрибуцията на 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
Вие също трябва да конфигурирате средата Informatica, така че библиотеката по време на изпълнение на C да може да зарежда библиотеките на ODBC драйвери. Редактирайте подходящата променлива на средата за вашата платформа и динамичен линкер (LD_LIBRARY_PATH
, LIBPATH
) и така нататък). Нашата платформа Informatica е Linux и затова добавихме следните директории на Salesforce ODBC драйвери към LD_LIBRARY_PATH
във файла с профил за потребителя на Informatica PowerCenter:
/usr/local/easysoft/sf /usr/local/easysoft/lib
След това рестартирахме домейна PowerCenter, така че Informatica пое промените.
Тогава връзката със Salesforce беше налична като релационна цел или източник (чрез използване на източника на данни на Salesforce в релационна връзка, чийто тип е зададен на ODBC) в нашите работни потоци на Informatica.