0

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

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

4

1 回答 1

0

This is very often a CCSID mismatch problem. Check the IBM side to see if the table is other than CCSID(65535) (no translate). Use locale to check the language setting on the Informatica side. /opt/ibm/iSeriesAccess/bin/cwbnltbl will describe the match between locale and CCSID. Assuming there's a mis-match:

To change or the add character set CCSID mapping, add the following lines to the $HOME/.iSeriesAccess/cwb_userprefs.ini configuration file.

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

The above example creates mappings for CCSID 939 to character set "IBM939" and for CCSID 819 to character set "IBM819".

Taken from ODBC language considerations

于 2013-05-03T20:05:58.013 回答