各位大侠,小弟今天要做一个功能是:在存储过程中创建多级目录。有没有什么好的方法啊。
我现在用的loadjava。用java实现创建,但是执行的时候会抛权限异常,所以不能创建。有没有其他的方法实现呢?
贴上我的代码。望大侠指点:
import java.io.File;public class CreatDir {
 public static void main(String[] args) {
     String str =  CreatDir.mkDocDir("/home/oracle/upload/20091223/5");
     System.out.println(str);
     
 }
 public static String mkDocDir(String filePath){
            File f=new File(filePath);
            f.mkdirs();
            return filePath;
 }
}
create or replace function mkdocdir(filepath in varchar2)  return varchar2
  as
  language java name 'CreatDir.mkDocDir(java.lang.String) return java.lang.String';

解决方案 »

  1.   

    java不太懂你说的目录是OS上那种目录结果还是ORACLE中的那个directoryhttp://blog.csdn.net/wh62592855/archive/2009/12/26/5083418.aspx这个是ORACLE目录的使用 不知道对你有帮助没
      

  2.   

    就是你这个功能,但是我要实现F_open的dir路径是动态生成的。每次都会变。请问如何实现呢?
      

  3.   

    这段java代码看起来好像和oracle没什么关系呀,就是创建一个目录,只是目录刚好是在oracle路径下。试试把路径换到其他地方可以创建成功不?如果不行检查下权限,
    ls -lchmod 777 dir
      

  4.   

    把帖子里那个匿名的declare块改为一个存储过程
    通过传递参数试试
      

  5.   

    执行java的应用程序使用的连接数据库的账号通过授权创建directory了吗(连接数据库的用户有权在数据库中创建directory吗?)?
      

  6.   

    这段java代码看起来好像和oracle没什么关系呀,就是创建一个目录,只是目录刚好是在oracle路径下。 试试把路径换到其他地方可以创建成功不? 如果不行检查下权限, 
    ls -l 
      

  7.   

    把帖子里那个匿名的declare块改为一个存储过程 
    通过传递参数试试