日期:2014-05-17  浏览次数:20881 次

为什么可以写文件而不可以读文件?
一读文件就出现ORA-29283:   invalid   file   operation   的错误
而写文件就没有问题,都是一样的路径。一样的文件名。

CREATE   OR   REPLACE   FUNCTION   acd(IN_NAME   IN   VARCHAR2)
RETURN   VARCHAR2
IS
FILE_HANDLE   UTL_FILE.FILE_TYPE;
OUTLOG_DIR   VARCHAR2(2000);
NUM   INTEGER;
BEGIN
LOOP
BEGIN
FILE_HANDLE   :=   UTL_FILE.FOPEN( 'MILKLOG_DIR '   , 'output.txt ', 'R ');
        UTL_FILE.GET_LINE(FILE_HANDLE,OUTLOG_DIR);
EXCEPTION
        WHEN       NO_DATA_FOUND
        THEN
EXIT;
END;
END   LOOP;
NUM   :=   INSTR(OUTLOG_DIR, '= ',1,1);
OUTLOG_DIR   :=   SUBSTR(OUTLOG_DIR,NUM);
RETURN   OUTLOG_DIR;
END;


MILKLOG_DIR是一个dectionary.

还请高手指教。

------解决方案--------------------
UTL_FILE.GET_LINE (
file IN FILE_TYPE,
buffer OUT VARCHAR2,
linesize IN NUMBER,
len IN PLS_INTEGER DEFAULT NULL);


get_line 至少还有个 linesize 参数,你少了这个参数.