我使用下面的查询DB2数据库的映射的SQ和发送记录到CSV目标:DB2串联在Informatica的
SELECT FIELD1||':'||FIELD2 FROM LIBRARY.FILE
但其返回一些十六进制值,虽然它返回正确的号码的记录。 即使上面的查询在Squrrel中也能正常工作。
但是,当我不使用它做工精细分离器(以下查询):
SELECT FIELD1||FIELD2 FROM LIBRARY.FILE
任何帮助。
我使用下面的查询DB2数据库的映射的SQ和发送记录到CSV目标:DB2串联在Informatica的
SELECT FIELD1||':'||FIELD2 FROM LIBRARY.FILE
但其返回一些十六进制值,虽然它返回正确的号码的记录。 即使上面的查询在Squrrel中也能正常工作。
但是,当我不使用它做工精细分离器(以下查询):
SELECT FIELD1||FIELD2 FROM LIBRARY.FILE
任何帮助。
检查作业用户的CCSID。 FIELD1和FIELD2的CCSID与字符串':'不同。 FIELD1/2 CCSID来自数据库,我认为':'来自作业的CCSID。如果它们不同,DB2将返回EBCDIC中的串联结果。你要把你的 ':' 用相同的CCSID为FIELD1:
cast(':' as char(1) CCSID XXXX)
,如果你使用
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(':')