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

本文共 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第一课

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月29日 15时12分29秒