使用dbms_sql的权限不足

时间:2017-10-16 11:29:03

标签: sql oracle plsql

我有一个使用dbms_sql包的PLSQL代码。例如,它从序列创建开始。

request:= 'CREATE SEQUENCE ' || utilisateur || '.' || 'seq_fusion_table
                MINVALUE 1
                START WITH 1
                INCREMENT BY 1';
dbms_sql.parse(curseur_ref, request, dbms_sql.native);
response := dbms_sql.execute(curseur_ref);  

我有一个错误:

ORA-01031: insufficient privileges

我认为用户无法使用dbms_sql所以我发送了此请求:

GRANT execute on DBMS_SQL to user;
commit;

为了确保我在不使用dbms_sql的情况下发送了创建请求,用户确实有权创建序列。

我该怎么做才能摆脱这种不足的特权错误?

谢谢。

1 个答案:

答案 0 :(得分:1)

通过角色授予的权限在PL / SQL中无效。您需要授予权限,直接为用户创建序列

grant create sequence to the_user;

然后它也应该在PL / SQL中工作。