python调用oracle过程 权限不足_oracle-存储过程提示 ORA-01031: 权限不足
发布日期:2021-06-24 16:45:20 浏览次数:3 分类:技术文章

本文共 1531 字,大约阅读时间需要 5 分钟。

http://bbs.csdn.net/topics/360200923

--我们知道,用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式授权,

--如grant create table to usera;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,

--实际上,oracle给我们提供了在存储过程中使用role权限的方法:

--修改存储过程,加入Authid Current_User时存储过程可以使用role权限。下面来举个例子:

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for 32-bit Windows: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

SQL> conn sjh/sjh

已连接。

SQL> create or replace procedure p_test

2  is

3  begin

4  execute immediate 'create table creat_table(id number)';

5  end;

6  /

过程已创建。

SQL> exec p_test;

BEGIN p_test; END;

*

第 1 行出现错误:

ORA-01031: 权限不足

ORA-06512: 在 "SJH.P_TEST", line 4

ORA-06512: 在 line 1

SQL>

SQL> select * from dba_role_privs where grantee='SJH';

GRANTEE                        GRANTED_ROLE                   ADM DEF

------------------------------ ------------------------------ --- ---

SJH                            RESOURCE                       NO  YES

--实际上SJH用户有resource的角色,也就是说有建表的权限。

SQL> select * from dba_role_privs where grantee='SFX';

GRANTEE                        GRANTED_ROLE                   ADM DEF

------------------------------ ------------------------------ --- ---

SFX                            RESOURCE                       NO  YES

SFX                            CONNECT                        NO  YES

SFX                            PLUSTRACE                      NO  YES

SQL>  create or replace procedure p_test

2  Authid Current_User

3  is

4  begin

5  execute immediate 'create table creat_table(id number)';

6  end;

7  /

过程已创建。

SQL> exec p_test;

PL/SQL 过程已成功完成。

SQL> select * from creat_table;

未选定行

--在存储过程加了Authid Current_User选项,表建立成功。

转载地址:https://blog.csdn.net/weixin_33921444/article/details/114465557 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 区块链_Java,区块链,以太坊
下一篇:python第一课_Python第一课

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月09日 21时24分25秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

程序员之路:mysql修改数据表_彭世瑜_新浪博客 2019-04-28
程序员之路:C语言内存不足已停止工作_彭世瑜_新浪博客 2019-04-28
程序员之路:MySQL操作数据表记录_彭世瑜_新浪博客 2019-04-28
程序员之路:Github版本控制入门_彭世瑜_新浪博客 2019-04-28
程序员之路:MySQL子查询与连接_彭世瑜_新浪博客 2019-04-28
程序员之路:为github项目建立网页_彭世瑜_新浪博客 2019-04-28
Python编程:sublime编辑器python开发必装插件_彭世瑜_新浪博客 2019-04-28
程序员之路:Emmut语法_彭世瑜_新浪博客 2019-04-28
程序员之路:sublime使用技巧_彭世瑜_新浪博客 2019-04-28
Python编程:创建Django项目_彭世瑜_新浪博客 2019-04-28
Python编程:面试题_彭世瑜_新浪博客 2019-04-28
程序员之路:MySQL运算符和函数_彭世瑜_新浪博客 2019-04-28
程序员之路:sublime编辑器setting配置_彭世瑜_新浪博客 2019-04-28
C#编程-17:字符串取第一个和最后一个字符_彭世瑜_新浪博客 2019-04-28
C#编程-50:菜单控件复习笔记_彭世瑜_新浪博客 2019-04-28
C#编程-52:PictureBox控件复习笔记_彭世瑜_新浪博客 2019-04-28
C#编程-45:WinForm程序复习笔记_彭世瑜_新浪博客 2019-04-28
C#编程-53:ImageList复习笔记_彭世瑜_新浪博客 2019-04-28
C#编程-47:选择类控件复习笔记_彭世瑜_新浪博客 2019-04-28
浏览器四大内核及主流产品_彭世瑜_新浪博客 2019-04-28