下面是我用来从表格中提取数据到平面文件的代码.
BEGIN DECLARE file_name VARCHAR2(50); file_handle utl_file.file_type; BEGIN file_name := 'table.txt'; file_handle := utl_file.fopen('SEND',file_name,'W'); FOR rec in( SELECT column 1 ||'~'||column 2 ||'~'||column 3 out_line FROM table1)LOOP UTL_FILE.PUT_LINE(file_handle,rec.out_line); UTL_FILE.FFLUSH(file_handle); END LOOP; UTL_FILE.FCLOSE(file_handle); END; end;
这段代码在我们的开发数据库中工作正常,但是如果我在新的数据库中执行它会抛出以下错误.
Error starting at line 1 in command: BEGIN DECLARE file_name VARCHAR2(50); file_handle utl_file.file_type; BEGIN file_name := 'table.txt'; file_handle := utl_file.fopen('SEND',rec.out_line); UTL_FILE.FFLUSH(file_handle); END LOOP; UTL_FILE.FCLOSE(file_handle); END; end; Error report: ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE",line 536 ORA-29283: invalid file operation ORA-06512: at line 7 29283. 00000 - "invalid file operation" *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.
Oracle directory 'SEND' points to some UNIX directory which has rights as 'rwxrwsr-x' (Octal 2775) Oracle Version:11g
请帮我解决这个问题.
如果您需要我提供更多数据来解决这个问题,请大家告诉我们.