尝试导出java资源时出现SecurityException

时间:2010-03-19 12:35:11

标签: java oracle export resources

我正在尝试使用此代码获取存储在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无论如何都无法访问它?

1 个答案:

答案 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

相关问题