将存储过程从oracle导入Informatica

时间:2012-09-21 19:28:47

标签: oracle stored-procedures oracle10g informatica-powercenter informatica

我必须将存储过程从Oracle数据库导入Informatica。 但是当我尝试使用存储过程转换时,我无法查看相应的存储过程。 我正在使用正确的oracle驱动程序,因为我在导入目标数据库表时没有任何问题。 我尝试使用oracle数据库查看存储过程 select * from all_objects where object_type='FUNCTION'但找不到 功能我正在寻找。 请告诉我这些:

  • 我们可以查看Oracle中存储过程/函数的列表和代码

  • Informatica存储过程转换中缺少什么?

2 个答案:

答案 0 :(得分:1)

如果你没有从中获得任何结果..

select * from all_objects where object_type='FUNCTION'

这意味着您没有任何功能,或者当前用户没有执行任何功能的权限。找出哪个用户拥有该功能并授予以下内容。

示例:

grant execute on <owner>.<function_name> to ETL_USER;

为避免混淆,请确保信息连接中的用户名和连接到数据库时使用的用户名相同。

答案 1 :(得分:1)

  1. 将对象导入Informatica时,列出的对象始终由“连接”用户拥有。如果您的对象归其他用户所有,您将看不到它。要查看不是由连接用户拥有的对象,您必须在连接时在架构文本框中选择“全部”。

  2. 您应该寻找object_type ='PROCEDURE'而不是“FUNCTION”。因此,您的查询应显示为select * from all_objects where object_type='PROCEDURE'

  3. 如果完成所有这些并且您仍然没有看到该对象,请检查该对象的权限给您的连接用户。为此,最好的课程是 一个。请求您的dba将该对象的执行权限授予您的连接用户。要么 湾以该对象的所有者身份连接到数据库并运行以下命令 grant execute on <object_name> to <connecting_user>