一读文件就出现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.还请高手指教。
而写文件就没有问题,都是一样的路径。一样的文件名。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.还请高手指教。
file IN FILE_TYPE,
buffer OUT VARCHAR2,
linesize IN NUMBER,
len IN PLS_INTEGER DEFAULT NULL);get_line 至少还有个 linesize 参数,你少了这个参数.