在加载Oracle表单应用程序时,用户收到以下错误ora-04067未执行包“XYZ”不存在我已经检查了包和包体(XYZ),它是存在的和有效的。我可以从sqlplus和sql developer执行软件包。但是,当其他用户使用他们的凭据登录时,他们会收到此错误。当我们向个人用户提供执行权限时,它可以工作,但这不是正确的方式。还有什么可以检查为什么会发生此错误?
lndjwyie1#
当我们向单个用户提供执行权限时,它可以工作,但这不是正确的方式你为什么这么想?那么,在你看来,哪种方式是正确的?在Oracle中,默认情况下禁止所有内容。如果你想允许某些东西,你必须显式地允许它,这就是通过授予特权。但是,您可以选择
还有另一种选择,但请记住,这可能不是最好的选择:授予特权给public。你真的希望任何人都能访问你的对象,执行你的过程吗?此外,除非您为已授予特权的对象创建同义词,否则必须在它们的名称之前加上所有者名称来引用它们。
1条答案
按热度按时间lndjwyie1#
当我们向单个用户提供执行权限时,它可以工作,但这不是正确的方式
你为什么这么想?那么,在你看来,哪种方式是正确的?
在Oracle中,默认情况下禁止所有内容。如果你想允许某些东西,你必须显式地允许它,这就是通过授予特权。
但是,您可以选择
还有另一种选择,但请记住,这可能不是最好的选择:授予特权给public。你真的希望任何人都能访问你的对象,执行你的过程吗?
此外,除非您为已授予特权的对象创建同义词,否则必须在它们的名称之前加上所有者名称来引用它们。