我现在在init.ora中设定utl_file_dir = *然后 
file_handle := utl_file.fopen('E:\temp', 'ReadTest.txt', 'r');但是在运行的时候出现invalid_path异常不知道怎么解决

解决方案 »

  1.   

    你修改了init.ora文件重启了数据库了吗?
    数据库用的什么版本?9i的话启动数据库是用的spfile还是pfile?如果是spfile的话你修改init文件设置是不会生效的
    执行show parameter utl_file_dir看看设置是否生效
      

  2.   

    我用的10g
    是在pfile下的init.ora文件追加的 utl_file_dir = *原来这个文件名还有一堆数字,让我删了NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    utl_file_dir                         string
      

  3.   

    declare 
                  file_handle UTL_FILE.FILE_TYPE; 
                  begin 
                  file_handle := UTL_FILE.FOPEN('/tmp', '文件名', 'w'); 
                  UTL_FILE.PUTF(file_handle, '写入的信息n'); 
                  UTL_FILE.FCLOSE(file_handle); 
                  exception 
                  WHEN utl_file.invalid_path THEN 
                  raise_application_error(-20000, 'ERROR: Invalid path for file or path not in        INIT.ORA.'); 
        end;     PutF()过程用来以指定格式把文本写入一个文件     Put_Line()过程把一个指定的字符串写入文件并在文件中开始新的一行