通过 utl_file.open 打开驻留在服务器上的文件时出错!
我正在尝试打开驻留在数据库服务器中的文件, 我用过 选择 * 来自 V$ 参数 名称 = 'utl_file_dir' 找出目录路径。
当我执行此代码时,我收到此错误。 出现错误“ORA-29283:无效的文件操作”
declare
v_file_handler utl_file.file_type;
p_dir varchar2(100):='/d04/data/edi/inbound';
v_no number:=1;
v_file varchar2(30):='ut_file.txt';
begin
if utl_file.is_open(v_file_handler) then
dbms_output.put_line('Already opened');
else
v_file_handler:= utl_file.fopen(p_dir,v_file,'r');
utl_file.putf(v_file_handler,'program %s\n',sysdate);
dbms_output.put_line('not opened');
end if;
exception
when others then
dbms_output.put_line(sqlerrm);
end;
I am trying to open a file residing in data base server ,
i used
SELECT *
FROM V$PARAMETER
WHERE NAME = 'utl_file_dir'
to find out directory path.
When i am executing this code i am getting this error.
error coming "ORA-29283: invalid file operation"
declare
v_file_handler utl_file.file_type;
p_dir varchar2(100):='/d04/data/edi/inbound';
v_no number:=1;
v_file varchar2(30):='ut_file.txt';
begin
if utl_file.is_open(v_file_handler) then
dbms_output.put_line('Already opened');
else
v_file_handler:= utl_file.fopen(p_dir,v_file,'r');
utl_file.putf(v_file_handler,'program %s\n',sysdate);
dbms_output.put_line('not opened');
end if;
exception
when others then
dbms_output.put_line(sqlerrm);
end;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您正在打开一个文件进行读取并尝试写入。这必然会抛出
错误。
来自 Oracle 文档:
另外,
You're opening a file for reading and attempting to write to it. That's bound to throw the
error.
From Oracle documentation:
Also,
utl_file_dir 已弃用 创建目录
utl_file_dir has been deprecated in favour of CREATE DIRECTORY