ora-04067 未执行的包不存在

问题描述 投票:0回答:1

加载 oracle 表单应用程序时,用户收到以下错误 ora-04067 未执行包“XYZ”不存在

我已检查包裹和包裹主体 (XYZ),其存在且有效。我能够从 sqlplus 和 sql Developer 执行该包。但是,当其他用户使用其凭据登录时,他们会收到此错误。当我们向个人用户提供执行权限时,它可以工作,但这不是正确的方法。还有什么可以检查为什么会出现此错误?

sql oracle plsql oracleforms
1个回答
0
投票

当我们向个人用户提供执行权限时,它可以工作,但这不是正确的方法

是什么让你这么想?那么,您认为哪种方式是正确的方式

在Oracle中,默认情况下一切都是禁止的。如果您想允许某件事,则必须明确允许它,那就是通过授予权限

不过,您可以选择是否

  • 您将分别对每个用户执行此操作,或者
  • 您将创建角色,为其授予权限(角色),然后将角色授予用户

还有另一种选择,但请记住,这可能不是最好的选择:向“公众”授予特权。您真的希望任何人都能访问您的对象、执行您的程序吗? 此外,除非您为已授予权限的对象创建

同义词

,否则您必须通过在其名称前加上所有者名称来引用它们。

© www.soinside.com 2019 - 2024. All rights reserved.