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');
就可以了,不用改系统参数,更不用重启数据库!
如果这个目录是其他用户创建的,则授权还是要的,如果是本用户创建的,也可以省略。
如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。

