create or replace and compile java source named urldownpic as
import java.net.*;
import java.io.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;public class URLDownPic
{ public static String writeStream(String name)
{
String names=name;
String res="";
String filepath="/home/test/22.txt";
File file_1=new File(filepath);
try {
if(!file_1.exists())
file_1.createNewFile();
FileOutputStream outs=new FileOutputStream(file_1);
outs.write(names.getBytes("utf-8")); // 一次能够写完,不超过10个汉字
outs.flush();
outs.close();
} catch (Exception e) {
res=e.getMessage();
res=res+e.toString();
res=res+" error";
}
return res;
}}
//创建function
create or replace function WriteName(name varchar2) return varchar2
as language java
name 'URLDownPic.writeStream(java.lang.String)return java.lang.String';// 以sys登录授权当前用户
SQL> exec dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/home/test/-', 'read,write,execute,delete');
PL/SQL procedure successfully completed
SQL> exec dbms_java.grant_permission('TEST','java.lang.RuntimePermission','*','writeFileDescriptor' );
PL/SQL procedure successfully completed以sys身份查询一下
select TEST.writename('得到') from dual;
返回一下错误Permission deniedjava.io.FileNotFoundException: Permission denied error大家帮我看一下,现在没分,以后补上,最好能说清楚一点,谢谢。
数据库 oracle9i,系统是Linux
EXEC Dbms_Java.Grant_Permission('TEST', 'SYS:java.io.FilePermission', '<<ALL FILES>>', 'read ,write, execute, delete');EXEC Dbms_Java.Grant_Permission('TEST', 'SYS:java.lang.RuntimePermission', 'writeFileDescriptor', '');EXEC Dbms_Java.Grant_Permission('TEST', 'SYS:java.lang.RuntimePermission', 'readFileDescriptor', '');
http://www.blogjava.net/Unmi/archive/2006/01/16/124025.html