在Linux服务器上通过Informatica Power Center读取DB2数据时出现的问题

时间:2013-05-03 19:11:20

标签: linux db2 ibm-midrange informatica

在我正在运行的一个非常大的项目中,我们的开发团队正在使用Informatica Power Center访问AS400 iSeries上的DB2数据库中的数据。我们可以建立ODBC连接并且可以读取数据,但它是以EBCDIC进入并保持这种状态,从不转换为ASCII。我们检查了盒子上的代码页,驱动程序,下载的参数 - 我们能想到的一切 - 但Informatica和IBM都无法弄清楚发生了什么。

有没有人有任何想法?你以前成功完成了吗?我想知道我们是否有Linux环境问题,因为当开发人员在Windows机器上使用Windows驱动程序时,它可以正常工作。不幸的是,这对我们来说不是一个可行的选择。

1 个答案:

答案 0 :(得分:0)

这通常是CCSID不匹配问题。检查IBM端以查看该表是否不是CCSID(65535)(无转换)。使用locale检查Informatica端的语言设置。 /opt/ibm/iSeriesAccess/bin/cwbnltbl将描述区域设置和CCSID之间的匹配。假设有一个不匹配:

要更改或添加字符集CCSID映射,请将以下行添加到$HOME/.iSeriesAccess/cwb_userprefs.ini配置文件中。

[CWB_CURRUSER\Software\IBM\Client Access Express\CurrentVersion\NLS] CCSID-CODESET=attr_str:939,IBM939,819,IBM819

上面的示例为CCSID 939创建了字符集“IBM939”和CCSID 819到字符集“IBM819”的映射。

取自ODBC language considerations