[PL/SQL]utl_file目录路径无效

windows2003,自己测试用。Oracle 10G. C 盘下我已经手工建了abc目录,咋还不行呢??

SQL> declare
2    frw   utl_file.file_type;
3  begin
4    frw:=utl_file.fopen('c:\abc','emp.txt','w');
5    for rec in (select * from emp) loop
6        utl_file.put_line(frw,rec.ename||','||rec.job||','||rec.sal);
7    end loop;
8    utl_file.fclose(frw);
9  end;
10  /
declare
*
第 1 行出现错误:
ORA-29280: 目录路径无效
ORA-06512: 在 "SYS.UTL_FILE", line 33
ORA-06512: 在 "SYS.UTL_FILE", line 436
ORA-06512: 在 line 4

解决方法:

create or replace directory MY_DIR as 'c:/abc';

然后再把
frw:=utl_file.fopen('c:\abc','emp.txt','w');
改成
frw:=utl_file.fopen('MY_DIR','emp.txt','w');
就可以了,不用改系统参数,更不用重启数据库!
如果这个目录是其他用户创建的,则授权还是要的,如果是本用户创建的,也可以省略。


如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。