由于甲方对数据库用户的严格限制,因此不会开放DBA权限,只会授予部分权限,如connect、resource权限,这就会导致跨用户之间的访问可能需要大量的授权语句。比如存储过程中的execute immediate语句,如果直接将execute immediate里面的语句拉出来访问,是可以访问的,但在存储过程中执行就会报出权限不足的错误,该解决方案是在存储过程的头部增加authid current_user is,例如下图
该语句旨在给予其他用户(即非创建该存储过程的用户)使用该存储过程的权限。
Oracle存储过程执行execute immediate语句报权限不足的解决方案
最新推荐文章于 2024-08-22 21:08:58 发布