下面这个是我写的一个包:
CREATE OR REPLACE PACKAGE test.pkg_test IS type mycursor IS ref CURSOR;
PROCEDURE get_dec_bill_list(cur_out OUT mycursor);
END;
CREATE OR REPLACE PACKAGE BODY test.pkg_test IS PROCEDURE get_dec_bill_list(cur_out OUT mycursor) AS
BEGIN
OPEN cur_out FOR
SELECT *
FROM student;
END;
END;
如果用system用户,可以完成创建,但是我用自己建的一个用户ttt,则提示 ORA-01031权限不足,下面是我创建这个用户的代码
create user ttt identified by 123;
grant connect ,resource to ttt;
我根据网上其它朋友提供的代码:grant resource to ttt; 这也还是不行啊。
有其他方法吗?
CREATE OR REPLACE PACKAGE test.pkg_test IS type mycursor IS ref CURSOR;
PROCEDURE get_dec_bill_list(cur_out OUT mycursor);
END;
CREATE OR REPLACE PACKAGE BODY test.pkg_test IS PROCEDURE get_dec_bill_list(cur_out OUT mycursor) AS
BEGIN
OPEN cur_out FOR
SELECT *
FROM student;
END;
END;
如果用system用户,可以完成创建,但是我用自己建的一个用户ttt,则提示 ORA-01031权限不足,下面是我创建这个用户的代码
create user ttt identified by 123;
grant connect ,resource to ttt;
我根据网上其它朋友提供的代码:grant resource to ttt; 这也还是不行啊。
有其他方法吗?
grant connect,resource to user;
运行成功后用户包括的权限:
CONNECT角色: --是授予最终用户的典型权利,最基本的
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
RESOURCE角色: --是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
可惜貌似没有你要的建包的权限哦~~
这里是schema的问题,你现在是用用户ttt在用户test下创建package,你需要具有
CREATE ANY PROCEDURE的系统权限,grant create any procedure to ttt;或者把这个package建在自己的schema下。====================================================================================
Inthirties关注Oracle数据库 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
联系方式QQ:370140387
QQ群: 85837884(注明:数据库)
电子邮件:[email protected]
网站: http://www.inthirties.com