ORA-29283:文件操作无效ORA-06512:在"SYS.UTL_FILE",第536行

Viv*_*vek 6 oracle plsql oracle11g ora-06512

下面是我用来从表格中提取数据到平面文件的代码.

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;
Run Code Online (Sandbox Code Playgroud)

这段代码在我们的开发数据库中工作正常,但是如果我在新的数据库中执行它会抛出以下错误.

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',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 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.
Run Code Online (Sandbox Code Playgroud)
Oracle directory 'SEND' points to some UNIX directory which has rights as 
       'rwxrwsr-x' (Octal 2775)
Oracle Version:11g
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.

如果您需要我提供更多数据来解决这个问题,请大家告诉我们.

APC*_*APC 5

因此,@ Vivek通过评论中的对话而不是通过实际答案来解决问题.谁说SO是问答网站而不是论坛?呃,我,等等.

无论如何,在没有接受这个问题的答案的情况下,我提供了一个关于我的答案的链接UTL_FILE.FOPEN(). 在这里找到它.

PS我正在回答社区Wiki,因为它不是这个问题的正确答案,只是重定向到其他地方.

  • +1,我不太了解通过评论回答问题的趋势. (3认同)