我必须将存储过程从Oracle数据库导入Informatica。
但是当我尝试使用存储过程转换时,我无法查看相应的存储过程。
我正在使用正确的oracle驱动程序,因为我在导入目标数据库表时没有任何问题。
我尝试使用oracle数据库查看存储过程
select * from all_objects where object_type='FUNCTION'
但找不到
功能我正在寻找。
请告诉我这些:
我们可以查看Oracle中存储过程/函数的列表和代码
Informatica存储过程转换中缺少什么?
答案 0 :(得分:1)
如果你没有从中获得任何结果..
select * from all_objects where object_type='FUNCTION'
这意味着您没有任何功能,或者当前用户没有执行任何功能的权限。找出哪个用户拥有该功能并授予以下内容。
示例:
grant execute on <owner>.<function_name> to ETL_USER;
为避免混淆,请确保信息连接中的用户名和连接到数据库时使用的用户名相同。
答案 1 :(得分:1)
将对象导入Informatica时,列出的对象始终由“连接”用户拥有。如果您的对象归其他用户所有,您将看不到它。要查看不是由连接用户拥有的对象,您必须在连接时在架构文本框中选择“全部”。
您应该寻找object_type ='PROCEDURE'而不是“FUNCTION”。因此,您的查询应显示为select * from all_objects where object_type='PROCEDURE'
如果完成所有这些并且您仍然没有看到该对象,请检查该对象的权限给您的连接用户。为此,最好的课程是
一个。请求您的dba将该对象的执行权限授予您的连接用户。要么
湾以该对象的所有者身份连接到数据库并运行以下命令
grant execute on <object_name> to <connecting_user>