我试图通过informatica从DB2中提取数据,我有一个SQ查询,根据4个不同表的连接提取少量字段。
当我直接在数据库中运行查询时,它会返回预期的结果,但是当我在informatica中运行它并运行调试器时,我会看到其他内容。 请注意,除了一列之外,所有列数据都完全匹配。
奇怪的是,这是一个基于案例陈述的表中的计算字段:
CASE WHEN Column1='3' THEN 'N' ELSE 'Y' END.
由于这是一个长度为一个字符串的计算字段,因此我已从一个字符长度为1的来源从源连接到SQ。
这将返回' Y'当在数据库中执行时,同样的查询,当我复制粘贴信息的SQ并运行它时,我得到一个数据' E,这个数据永远不可能,因为我只期望N或Y我已经验证了列顺序,它在正确的位置。这很奇怪,因为CASE声明出了问题吗?
答案 0 :(得分:0)
为自己省去麻烦,在tge源限定符后进行表达式转换并计算,然后在那里忘记端口值
答案 1 :(得分:0)
我想我遇到了这个问题。我们使用Informatica PowerExchange连接到as400系统(DB2),似乎当我们尝试在AS400中设置标志信息,并通过PowerExchange将其传递给informatica时,它会将其转换为二进制,并解决此问题,需要是PowerExchange配置文件中的条目。
不幸的是,我自己并不知道它可能与PowerExchange有关,而不是与powercenter本身有关。!!
感谢您的协助!以下是关于它的KB。