Oracle存储过程在会话结束时在Informatica存储过程转换映射中运行

时间:2019-04-10 20:10:43

标签: oracle informatica-powercenter

我创建了一个Informatica映射,其源是文本文件,目标也是文本文件。我通过使用连接的存储过程转换来调用Oracle存储过程,并且在下一步中,我将从存储过程中加载的表中读取数据。

问题是表正在加载,但是表中的数据未被读取,并且在目标文件中写入了零条记录。我认为存储过程在会话结束时运行。

如何使存储过程在流中而不是在会话结束时运行?

如果我从SQL Developer或informatica调用,则存储过程工作正常。

流量:

  • 平面文件源-> EXP trans->调用存储过程-> SQL trans(在表上运行查询。)-> tgt文件

存储过程流:

  • 截断表格
  • 使用一些输入数据加载表

1 个答案:

答案 0 :(得分:0)

您是否完全需要平面文件源?它是否包含存储过程的任何参数?如果没有:

  • 删除平面文件源
  • 为表创建源和源限定符
  • 作为Pre-SQL的一部分运行存储过程

否则,在映射中创建两个单独的流,例如:

Flat File Source -> Stored Procedure call -> Flat File Target

Source table -> Expression -> Flat File Target