DB2连接在Informatica中不起作用

DB2连接在Informatica中不起作用,db2,informatica,db2-400,Db2,Informatica,Db2 400,我在映射的SQ中使用下面的DB2数据库查询,并将记录发送到csv目标: SELECT FIELD1||':'||FIELD2 FROM LIBRARY.FILE 但它返回一些十六进制值,尽管它返回的记录数正确。 甚至上面的查询在Squrrel中也可以正常工作 但当我不使用分隔符时,它工作正常(如下查询): 任何帮助。检查作业用户的CCSID。字段1和字段2的CCSID与字符串“:”不同。FIELD1/2 CCSID来自数据库,我认为“:”来自作业的CCSID。如果它们不同,DB2将在EBCDI

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

SELECT FIELD1||':'||FIELD2 FROM LIBRARY.FILE
但它返回一些十六进制值,尽管它返回的记录数正确。 甚至上面的查询在Squrrel中也可以正常工作

但当我不使用分隔符时,它工作正常(如下查询):


任何帮助。

检查作业用户的CCSID。字段1和字段2的CCSID与字符串“:”不同。FIELD1/2 CCSID来自数据库,我认为“:”来自作业的CCSID。如果它们不同,DB2将在EBCDIC中返回连接的结果。使用与字段1相同的CCSID强制转换“:”:

cast(':' as char(1) CCSID XXXX)
请参阅,如果您使用

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

注意:在AS400上,您有一个用于导出IFS nammed CPYTOIMPF表的工具

例如:

CPYTOIMPF FROMFILE(yourlib/yourtable) TOSTMF('/yourIFSdir/outputfile.txt') STMFCODPAG(*PCASCII) RCDDLM(':')
select concat(field1, concat(':', field2)) from yourlib.yourtable
CPYTOIMPF FROMFILE(yourlib/yourtable) TOSTMF('/yourIFSdir/outputfile.txt') STMFCODPAG(*PCASCII) RCDDLM(':')