首页 > 解决方案 > 使用 ODI 代理启动时,用于调用存储过程以进行删除的 ODI 过程不起作用

问题描述

我在数据库上创建了一个存储的 PL/SQL 过程,它需要在某些条件下删除行。它由 ODI12c 过程调用,代码位于“目标代码”部分,并且没有任何参数:

BEGIN
  schema.delete_from_tables;
  END;

当我使用 ODI 代理通过 ODI 运行它时,它在操作员中成功完成,但实际上并没有删除记录。但是当我通过 ODI 但使用本地代理调用相同的程序时,它会删除记录;当我直接在数据库中调用它时也是如此。

代理建立连接的用户与我登录数据库的用户相同。自动提交是“开启”的,但存储过程本身也有提交。ODI 主存储库的用户也被授予对所有表的 DELETE 权限;代理已重新启动 - 没有变化。作为比较 - 还有其他现有的截断过程,存储在相同的模式中并通过 ODI 代理以相同的方式调用,它们可以工作。

任何其他建议都会有所帮助,谢谢!

标签: oracleplsqloracle-data-integrator

解决方案


推荐阅读