ORA-29283:无效的文件操作ORA-06512:at“SYS.UTL_FILE”,第536行 [英] ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536
问题描述
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
i不知道为什么...
DECLARE
V VARCHAR2(30);
L_FILE UTL_FILE。 FILE_TYPE;
VAR RAW(32760);
t_result VARCHAR2(32767);
V_ARRAY APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
V:= DBMS_RANDOM.STRING('U',8);
t_result:= utl_http.request('http://192.168.1.5:8080/ getfile / getlist?p = W01:S01:R01:SH01:F0001');
V_ARRAY:= APEX_UTIL.STRING_TO_TABLE(t_result,'〜');
DBMS_OUTPUT。 PUT_LINE('T_RESULT:'|| T_RESULT);
T_RESULT:= V_ARRAY(1); - REPLACE(V_ARRAY(1),'/','\\');
执行立即'创建或替换目录'|| V ||'AS'''|| T_RESULT ||'W01 / S01 / R01 / SH01 / F0001''';
EX ECUTE IMMEDIATE'GRANT READ,WRITE ON DIRECTORY'|| V ||'to PUBLIC';
DBMS_OUTPUT.PUT_LINE('V:'|| V);
L_FILE := UTL_FILE.FOPEN(V,'XX.txt','WB');
DBMS_OUTPUT.PUT_LINE('V:'|| V);
UTL_FILE。 PUT_RAW(L_FILE,VAR);
UTL_FILE.FCLOSE(L_FILE);
EXECUTE IMMEDIATE'DROP DIRECTORY'|| V;
EXCEPTION
什么时候其他呢?
DBMS_OUTPUT.PUT_LINE('异常消息:'|| SQLERRM);
END;
i don't know why...
DECLARE
V VARCHAR2(30);
L_FILE UTL_FILE.FILE_TYPE;
VAR RAW(32760);
t_result VARCHAR2(32767);
V_ARRAY APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
V := DBMS_RANDOM.STRING('U', 8);
t_result := utl_http.request('http://192.168.1.5:8080/getfile/getlist?p=W01:S01:R01:SH01:F0001');
V_ARRAY := APEX_UTIL.STRING_TO_TABLE(t_result,'~');
DBMS_OUTPUT.PUT_LINE('T_RESULT :'||T_RESULT);
T_RESULT := V_ARRAY(1);-- REPLACE(V_ARRAY(1),'/','\\');
EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY '||V||' AS '''||T_RESULT||'W01/S01/R01/SH01/F0001''';
EXECUTE IMMEDIATE 'GRANT READ, WRITE ON DIRECTORY '||V||' TO PUBLIC';
DBMS_OUTPUT.PUT_LINE('V :'||V);
L_FILE := UTL_FILE.FOPEN(V,'XX.txt','WB');
DBMS_OUTPUT.PUT_LINE('V :'||V);
UTL_FILE.PUT_RAW(L_FILE,VAR);
UTL_FILE.FCLOSE(L_FILE);
EXECUTE IMMEDIATE 'DROP DIRECTORY '||V;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Exception Message:'||SQLERRM);
END;
推荐答案
由于SYS.UTL_FILE的包体被包装(加密),因此无法确定您提供的信息存在什么问题。
但是a猜测你正在运行Oracle的用户在文件系统中没有必要的权限来读取或写入文件。
Since the package body of SYS.UTL_FILE is wrapped (encrypted) it's impossible to say for sure what the problem is with the info you've supplied.
But a guess is that the user you're running Oracle under is not having the necessary rights in the filesystem to read or write files.
这篇关于ORA-29283:无效的文件操作ORA-06512:at“SYS.UTL_FILE”,第536行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!