由于甲方对数据库用户的严格限制,因此不会开放DBA权限,只会授予部分权限,如connect、resource权限,这就会导致跨用户之间的访问可能需要大量的授权语句。比如存储过程中的execute immediate语句,如果直接将execute immediate里面的语句拉出来访问,是可以访问的,但在存储过程中执行就会报出权限不足的错误,该解决方案是在存储过程的头部增加authid current_user is,例如下图

该语句旨在给予其他用户(即非创建该存储过程的用户)使用该存储过程的权限。
Oracle存储过程执行execute immediate语句报权限不足的解决方案
最新推荐文章于 2023-11-15 17:26:17 发布
在受限的数据库环境中,直接执行存储过程中的execute immediate语句可能因权限不足而失败。解决此问题的方法是在存储过程头部增加authid current_user is语句,以允许非创建者执行该过程。
508

被折叠的 条评论
为什么被折叠?



