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



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

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

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

如果我从 SQL 开发人员或从 informatica 调用,存储过程工作正常。

流:

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

存储过程流:

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

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

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

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

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

最新更新