DB2 Concatenation在Informatica中不起作用

时间:2017-04-24 08:13:32

标签: db2 informatica db2-400

我在映射的SQ中使用以下查询DB2数据库并将记录发送到csv目标:

SELECT FIELD1||':'||FIELD2 FROM LIBRARY.FILE

但它返回了一些十六进制值,尽管它返回了正确的记录数。 即使上述查询在Squrrel中也能正常工作。

但是当我没有使用分隔符时,它工作正常(查询下方):

SELECT FIELD1||FIELD2 FROM LIBRARY.FILE

任何帮助。

2 个答案:

答案 0 :(得分:0)

检查作业用户的CCSID。 FIELD1和FIELD2的CCSID与字符串':'不同。 FIELD1 / 2 CCSID来自数据库,我认为':'来自作业的CCSID。如果它们不同,DB2将返回EBCDIC中串联的结果。使用与FIELD1:

相同的CCSID转换':'
cast(':' as char(1) CCSID XXXX)

请参阅DB2 query results in Hex format

答案 1 :(得分:0)

如果您使用

select field1 concat ':' concat field2 from yourlib.yourtable

OR

select concat(field1, concat(':', field2)) from yourlib.yourtable

注意:在AS400上你有一个工具可以导出你在IFS上的表格nammed CPYTOIMPF

示例:

CPYTOIMPF FROMFILE(yourlib/yourtable) TOSTMF('/yourIFSdir/outputfile.txt') STMFCODPAG(*PCASCII) RCDDLM(':')