0
我需要一些pl/sql错误的帮助。我需要编写函数从文本文件中提取第三个数字并在以后使用它。要做到这一点,我写了这个代码:PL/SQL错误 - 需要说明
CREATE OR REPLACE FUNCTION extract_dep
(v_filename IN VARCHAR2)
RETURN NUMBER
IS
v_filehandle UTL_FILE.FILE_TYPE;
v_deptno NUMBER;
v_fileline VARCHAR2(100);
BEGIN
v_filehandle:=UTL_FILE.FOPEN('/home/oracle/vezba', v_filename, 'r');
UTL_FILE.GET_LINE(v_filehandle, v_fileline);
v_deptno:=TO_NUMBER(SUBSTR(v_fileline,1,3));
UTL_FILE.FCLOSE(v_filehandle);
RETURN v_deptno;
END extract_dep;
/
VARIABLE g_deptno NUMBER
EXECUTE :g_deptno:=extract_dep('POVECANJE.txt');
执行此之后,我得到这个错误“POVECANJE.txt”的是什么,我应该做的数字100200.
Function created
begin :g_deptno:=extract_dep('POVECANJE.txt'); end;
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at "HR.EXTRACT_DEP", line 9
ORA-06512: at line 1
内容?我检查了文件路径,它是正确的。不知道该怎么做,所以如果有人知道解决方案,请告诉。 谢谢。