在存储过程里如何移动server上的文件和建文件夹移动文件用UTL_FILE内建包的FRENAME可以直接实现,但是这个FRENAME不能建文件夹。
比如我把/home/aa/bb/123.log移动到/home/cc/dd这个目录下,但是如果/home/cc/dd不存在,FRENAME就会失败请问我该怎么办?

解决方案 »

  1.   

    首先创建一个目录对象: 
    CREATE OR REPLACE DIRECTORY DEVELOPMENT_
       DIR as '/dev/source';
    CREATE OR REPLACE DIRECTORY TEST_DIR 
       as '/test/source';
      

  2.   

    LS说的就是建DIRECTORY啊,如果目录不存在还是没用吧LZ试试host
      

  3.   

    可以用程序去实现,不是所有的东西都是用数据库来实现的数据库在处理文件这块比较弱UTL_FILE包需要创建DIRECTORY比较麻烦
      

  4.   

    既然都用UTL_FILE,为什么不用oracle directory?
      

  5.   


    directory肯定要用啊,但是怎么把这个directory在server上建出来呢?
      

  6.   


    这个我也知道,但是现在也没有办法啊,我现在是这样的
    JAVA调用一个SPSP逻辑如下:
    cursor
    begin loop
      fetch cursor into v_rec
      process logic A
      get a string from v_rec.str1
      mv v_rec.str1/123.log /home/aa/bb/123.log 
      process logic B
    end loop针对“mv v_rec.str1/123.log /home/aa/bb/123.log ”大家有什么办法,/home/aa/bb/可能不存在
      

  7.   

    我的意见,你用SP调host是可以的
    但是这样做不好,与其勉为其难的让数据库做这个,还不如思考下如何在逻辑层修改以避免这样的需求