我在用UTL_FILE包的FOPEN打开文件,其第一个参数是表示路径的一个字符串。
我输入了一个,总是捕获到非法路径的异常。
后来看了有关资料,说要配置一个参数UTL_FILE_DIR,可是我如今也不知道该在哪配置这个参数。我在INIT.ORA中写了一下,也不成,请高手指点!!!!

解决方案 »

  1.   

    init.ora里面加入该参数。
    然后重新启动数据库。
      

  2.   

    UTL_FILE_DIR = <your directory name>
      

  3.   

    9i中:
    在oracle$HOME\assistants\jlib下有一JAR类型文件,名称为assistantscommon。内容如下:
    ......
    use_indirect_data_buffers=FALSE
    user_dump_dest=?/rdbms/log
    utl_file_dir=                     --------此地无银三百两 ?
    workarea_size_policy=MANUAL
    ......
      

  4.   

    我的oracle是9i的,二楼的朋友的方法,我试过,不成的,也许是版本问题吧。
    楼上的朋友,你说的jar类型文件名称为assistantscommon我已经找到,可是不知道该如何打开,用写字板打开很多乱码,用rar打开有很多目录,不知道那段代码是怎么看到的?
      

  5.   

    若机中没有重要数据的话(因为打开或修改文件有时会导致出错),
    先对assistantscommon进行复制,
    把此文件用写字板assistantscommon打开,对变量utl_file_dir输入路径后,保存。
    重启后再看看,不行的话再改回来。
      

  6.   

    UTL_FILE_DIR 参数
    ---------------------------------------------------------
    说明:允许数据库管理员指定 PL/SQL 文件 I/O 许可的目录。
    使用多个 UTL_FILE_DIR 参数即可指定多个目录。请注意所
    有用户均可读取或写入 UTL_FILE_DIR 参数中指定的所有文件。 
    值范围:任何有效的目录路径。 
    默认值:无
      

  7.   

    是不是这个:create or replace directory MY_DIR as 'e:\oracle\tmp'
      这个object并不能在DBA studio中找到,你需要query 
      all_directories , 你会发现它的owner 是sys.另外,在使用的时候,MY_DIR一定要大写。
      

  8.   

    注意:9i是使用spfile的
    修改参数后可以使用pfile=文件名启动,或生成相应的spfile