我正在尝试使用运行时列传播 (RCP) 功能使用 DataStage 9.1 从 DB2 9.7 读取一些数据。一般的方法是通过仅指定连接详细信息和表名来设置 DB2 Connector Stage 以生成查询 SQL。这种方法在大多数情况下都有效,但我遇到了多字节字符的问题。
当我进行此设置并且正在读取的数据来自其中一种 CJK(中文、日文或韩文)语言时,我^Z
会在我写入的顺序文件中看到字符。当我将此数据写入数据集时,我可以看到架构错误地指定列的数据类型是string
而不是ustring
. 从阅读默认类型转换文档看来,DataStage 正在从 DB2 中读取数据,ustring
但随后尝试将其作为string
.
当我为表生成表定义时,我可以看到它生成了具有string
类型的列。但是,当我将表定义加载到 DB2 连接器中时,我看到了一个默认选中的复选框,它将自动将Unicode
扩展属性添加到字符列。
有了以上所有信息,DataStage 似乎能够生成ustring
列而不是string
,但它不能用于运行时列传播。
简而言之:有什么方法可以说服 DataStage 在使用 RCP 时生成 ustring 列?DB2 Connector 阶段是否有设置?项目级别有设置吗?是否有控制这个的环境变量?如果不是,那么我是否需要为每个表构建表定义并编写自定义作业以仅因为我看到的问题而提取该数据?