【问题标题】:Oracle stored procedure runs in the end of session in Informatica stored procedure transformation mappingOracle 存储过程在 Informatica 存储过程转换映射中的会话结束时运行
【发布时间】:2019-04-10 20:10:42
【问题描述】:

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

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

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

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

流程:

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

存储过程流程:

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

【问题讨论】:

    标签: oracle informatica-powercenter


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-04
      • 2013-10-10
      • 1970-01-01
      • 2012-09-14
      • 2017-12-14
      • 1970-01-01
      • 1970-01-01
      • 2020-10-12
      相关资源
      最近更新 更多