使用 utl_file.open和utl_file.put_line可以写文件,可是我想每次执行时把上一次执行生成的文件先删除,
我从网上查了http://psoug.org/reference/utl_file.html,
可以这样写
-- dump.txt is created in the FCOPY demo
BEGIN
  utl_file.fremove('ORALOAD', 'dump.txt');
END fremove;可是我按照它说的写总报错 PLS-00302: component 'FREMOVE' must be declared
这是怎么回事那?

解决方案 »

  1.   

    实测:
    查看所有目录
    我们选择一个较短的吧,就选择了D:\app\Administrator\admin\ORAC11\dpdump
    在该目录下建立一个test.txt测试文件
    执行下面的代码:BEGIN
        utl_file.fremove('DATA_PUMP_DIR', 'test.txt');  
    END;
    提示
    这说明存储过程没有问题,只是我没有给当前分配对该目录的读写权限。
      

  2.   


    END fremove;是创建执行体的语法,前面需要有一个create procedure fremove as改成END; 就完事了。
      

  3.   

    grant read, write on directory UTL_DIR to 你的用户。
    授予他个读写权限。