ORA-29283:无效的文件操作ORA-06512:at“SYS.UTL_FILE”,第536行 [英] ORA-29283: invalid file operation ORA-06512: at "SYS.UTL_FILE", line 536

查看:1662
本文介绍了ORA-29283:无效的文件操作ORA-06512:at“SYS.UTL_FILE”,第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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆