我正在尝试使用此代码获取存储在oracle数据库中的java资源的源代码(连接为SYSTEM进行测试):
DECLARE
javalob CLOB;
BEGIN
DBMS_LOB.CREATETEMPORARY(javalob, false);
DBMS_JAVA.EXPORT_RESOURCE('RESOURCENAME', 'SCHEMA', javalob);
DBMS_OUTPUT.PUT_LINE(javalob);
END;
但是当我尝试运行它时,我得到了这个:
Java call terminated by uncaught Java exception: java.lang.SecurityException: cannot read <Resource Handle: RESOURCENAME|SCHEMA|301> because SYSTEM does not have execute privilege on it
这就是,我不确定如何在<Resource Handle: RESOURCENAME|SCHEMA|301>
上授予权限,因为这不是SQL或PL / SQL对象。为什么SYSTEM无论如何都无法访问它?
答案 0 :(得分:0)
dbms_java包中的以下过程可以解决您的问题:
PROCEDURE grant_permission(
grantee varchar2,
permission_type varchar2,
permission_name varchar2,
permission_action varchar2)
http://download.oracle.com/docs/cd/B14117_01/java.101/b12021/security.htm#i1005789