【问题标题】:Importing a stored procedure from oracle to Informatica将存储过程从 oracle 导入 Informatica
【发布时间】:2012-09-14 06:11:58
【问题描述】:
我必须将存储过程从 Oracle 数据库导入 Informatica。
但是当我尝试使用存储过程转换时,我无法查看相应的存储过程。
我正在使用正确的 oracle 驱动程序,因为我在导入目标数据库表时没有任何问题。
我尝试使用查看 oracle 数据库中的存储过程
select * from all_objects where object_type='FUNCTION' 但找不到
我正在寻找的功能。
请就这些问题给我建议:
【问题讨论】:
标签:
oracle
stored-procedures
oracle10g
informatica-powercenter
informatica
【解决方案1】:
如果你没有得到任何结果..
select * from all_objects where object_type='FUNCTION'
这要么意味着您没有任何功能,要么当前用户没有执行任何功能的权限。找出哪个用户拥有该功能并授予以下权限。
例子:
grant execute on <owner>.<function_name> to ETL_USER;
为避免混淆,请确保 informatica 连接中的用户名与您连接数据库时使用的用户名相同。
【解决方案2】:
将对象导入 Informatica 时,列出的对象始终归“连接”用户所有。如果您的对象由其他用户拥有,您将看不到它。要查看不属于连接用户的对象,您必须在连接时在架构文本框中选择“全部”。
您应该寻找 object_type='PROCEDURE' 而不是“FUNCTION”。因此,您的查询应为select * from all_objects where object_type='PROCEDURE'
如果所有这些都完成了,但您仍然看不到该对象,请检查您的连接用户对该对象的权限。为此,最好的课程是
一种。要求您的 dba 将该对象的执行权限授予您的连接用户。要么
湾。以该对象的所有者身份连接到数据库并运行以下命令
grant execute on <object_name> to <connecting_user>