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

问题描述 投票:1回答:1

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

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

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

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

流:

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

存储过程流程:

  • 截断表格
  • 用一些输入数据加载表
oracle informatica-powercenter
1个回答
0
投票

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

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

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

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

Source table -> Expression -> Flat File Target
© www.soinside.com 2019 - 2024. All rights reserved.