我有两个用户架构。 让我们说A& B. A有一个写在其中的程序SAY'XProc'。
B有一个包含过程说'B_Pack_Proc'的包,它在B用户模式中创建一个动态视图。
B_pack_proc在B模式本身中创建视图。
但我正在从A执行B_Pack_Pro,我的错误权限不足。
我正在使用oracle表单11g和oracle DB 11g。
我已向用户B授予用户A明确授权 即创建任何视图 在视图上执行。 在package_name上执行
请帮忙。
- Prathamesh
答案 0 :(得分:0)
这可能是调用者权利与定义者权利的问题。
如果使用authid current_user
创建包B.Some_Package.B_Pack_Proc,那么只有在B.dynamic_view上授予了A选项后,它才会起作用。如果使用authid definer
(默认值)创建包,则B.Some_Package.B_Pack_Proc应该拥有B拥有的任何对象的权限,并且您只需要将该包的执行权授予A。