前面我已经写了一篇关于安装和配置MySQL ODBC Driver For Informatica Informatica MySQL ODBC Driver安装和配置
以配置Monetdb odbc开始吧:
[monetdb@olinfa lib]$ pwd /home/monetdb/MONETDB-11/bin/lib [monetdb@olinfa lib]$ ls libbat.la libmapi.la libmonetdb5.la libMonetODBC.la libstream.la monetdb5 libbat.so libmapi.so libmonetdb5.so libMonetODBCs.la libstream.so pkgconfig libbat.so.11 libmapi.so.7 libmonetdb5.so.17 libMonetODBC.so libstream.so.6 python2.6 libbat.so.11.0.3 libmapi.so.7.0.1 libmonetdb5.so.17.0.2 libMonetODBCs.so libstream.so.6.0.1 [monetdb@olinfa lib]$
这里有两个文件: libMonetODBC.so 和 libMonetODBCs.so 【S代表了Setup】
[root@olinfa ~]# cp libMonetODBC.so /opt/informatica/powercenter/910/ODBC6.1/lib/MonetDB/ [root@olinfa ~]# cp libMonetODBCs.so /opt/informatica/powercenter/910/ODBC6.1/lib/MonetDB/
不一定要root权限,依情况而定哈。 还有目录也不一定要在/opt/informatica/powercenter/910/ODBC6.1/lib/MonetDB/, 但是便于管理,最好能够放到/opt/informatica/powercenter/910/ODBC6.1/lib目录。
这里我还得改变一下它的用户和组,这样让这些文件便于informatica的用户管理。
chown -R pwrcntr:etl /opt/informatica/powercenter/910/ODBC6.1/lib/MonetDB/
ldd libMonetODBC.so linux-vdso.so.1 => (0x00007fff48f37000) libmapi.so.7 => not found libstream.so.6 => not found
这里只列举了not found。说明它的依赖没有解决,那么得将libmapi.so.6和libstream.so.7拷贝过来,现在再看这个依赖库:
[monetdb@olinfa lib]$ ll libmapi.so.7 libstream.so.6 lrwxrwxrwx 1 monetdb monetdb 16 Jan 5 15:24 libmapi.so.7 -> libmapi.so.7.0.1 lrwxrwxrwx 1 monetdb monetdb 18 Jan 5 15:24 libstream.so.6 -> libstream.so.6.0.1
这两个文件是链接文件,所以要拷贝libmapi.so.6.0.1和libstream.so.7.0.1。 具体操作请看第二步。所以,有了如下的文件
-rwxr-xr-x 1 pwrcntr etl 196523 Jan 17 00:31 libmapi.so.7.0.1 -rwxr-xr-x 1 pwrcntr etl 846943 Jan 17 00:26 libMonetODBC.so -rwxr-xr-x 1 pwrcntr etl 10503 Jan 17 00:30 libMonetODBCs.so -rwxr-xr-x 1 pwrcntr etl 115665 Jan 17 00:31 libstream.so.6.0.1
然后再次创建两个链接文件:
ln -s libmapi.so.7.0.1 libmapi.so.7 ln -s libstream.so.6.0.1 libstream.so.6
,当然了,也要检查一下它的依赖库的依赖。
odbc.ini示例模板:
[MONETDB_VOC_SCOTT] Driver=/opt/informatica/powercenter/910/ODBC6.1/lib/MonetDB/libMonetODBC.so Description=ODBC For Monetdb DriverUnicodeType=1 Host= Port=50000 Username= Uassword= Database=
注意,在测试时会报一个错:{error} STATE=587, CODE=0, MSG=523 586
可以使用isql -v Connection_string username password看到文字错误信息。说没有找到/opt/informatica/powercenter/910/ODBC6.1/lib/MonetDB/libMonetODBC.so 这个文件。
解决方法是:
ln -s libmapi.so libmapi.so.7 ln -s libstream.so libstream.so.6
然后在测试,应该是可以连接上了。
如果你跑workflow会失败,说是连接数据库失败,那注意要把这些库加入到LD_LIBRARY_PATH 环境变量【for Linux】。重启一下Informatica,然后就
可以正确的使用ODBC连接了。
示例:
已经成功load到数据库中了。
sql>select count(*) from dummy;
+-------+
| L1 |
+=======+
| 21792 |
+-------+
1 tuple (64.073ms)
sql>
=======================================Lesus================================================