今天项目上提了一个support,一个存储过程报“ORA-29280: 目录路径无效”错误
改存储过程中用到了UTL_FILE.fopen函数v_dat := UTL_FILE.fopen(v_datpath,v_datfile,'w');
UTL_FILE.fopen的作用是打开主机上某一目下的一个文件,向文件里写入内容。
该函数与utl_file_dir有密切关系,查看问题主机该参数的值
SQL> show parameter utl_file_dir
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
utl_file_dir string
SQL>
该参数为空,导致
在initsid.ora文件中,加入或修改
设置utl_file_dir的要点:
1。 utl_file_dir=* 这表示你能操作任何目录,尽量不要用
2。 utl_file_dir=d:\ 这表示你能操作d:\目录下的文件,但你不能操作d:\目录下的子目录
3。注意在设置
utl_file_dir=路径时,如果路径是长路径名,例如c:\my temp目录,则你必须加上'',例如:
utl_file_dir='c:\my temp'
4。utl_file_dir可以是多个路径
utl_file_dir=c:\,d:\,d:\temp,'c:\my temp'
5。设置完必须重新启动数据库