我现在按照网上的方法,希望能够用sql读写文件,但是总是出错,SQL如下:首先我创建了Directory,并给我的用户读写权限,declare
FILE_HANDLE utl_file.file_type;
begin
FILE_HANDLE:=UTL_FILE.FOPEN('TEMP','test.txt','a');
UTL_FILE.put_line(FILE_HANDLE,'jerrygao');
UTL_FILE.FCLOSE(FILE_HANDLE);
end;
但是总是报错:
ora-29283:无效的文件操作是怎么回事?谢谢大家
FILE_HANDLE utl_file.file_type;
begin
FILE_HANDLE:=UTL_FILE.FOPEN('TEMP','test.txt','a');
UTL_FILE.put_line(FILE_HANDLE,'jerrygao');
UTL_FILE.FCLOSE(FILE_HANDLE);
end;
但是总是报错:
ora-29283:无效的文件操作是怎么回事?谢谢大家
Cause: An attempt was made to read from a file or directory that does not exist, or file or directory access was denied by the operating system.
Action: Verify file and directory access privileges on the file system, and if reading, verify that the file exists.
你的text.txt存在不,要不用个绝对路径代替text.txt试下...
你确定temp目录对不对???
比如象D:/temp???
create or replace directory TEMP as 'd:\test.txt';
2 as 'D:\';目录已创建。SQL> host dir d:\
驱动器 D 中的卷是 ORACLE
卷的序列号是 0CE4-9C5F d:\ 的目录2010-01-11 16:15 <DIR> oracle
0 个文件 0 字节
1 个目录 13,819,805,696 可用字节SQL> declare
2 FILE_HANDLE utl_file.file_type;
3 begin
4 FILE_HANDLE:=UTL_FILE.FOPEN('TEMP','test.txt','a');
5 UTL_FILE.put_line(FILE_HANDLE,'jerrygao');
6 UTL_FILE.FCLOSE(FILE_HANDLE);
7 end;
8 /PL/SQL 过程已成功完成。SQL>
SQL> declare
2 FILE_HANDLE utl_file.file_type;
3 begin
4 FILE_HANDLE:=UTL_FILE.FOPEN('TEMP','test.txt','a');
5 UTL_FILE.put_line(FILE_HANDLE,'jerrygao');
6 UTL_FILE.FCLOSE(FILE_HANDLE);
7 end;
8 /
declare
*
第 1 行出现错误:
ORA-29280: 目录路径无效ORA-06512: 在 "SYS.UTL_FILE", line 33
ORA-06512: 在 "SYS.UTL_FILE", line 436
ORA-06512: 在 line 4
SQL>