UNIX Oracle 10g能用utl_file包读取文件数据吗? 我在WINDOW 下ORACLE 8i利用utl_file可以读取文本文件的数据,我本人测试通过, 但是在UNIX oracle 10g不行呀!出错! begin loadfiledata('d:\ora','1.txt'); end;
ORA-29280: 目录路径无效 ORA-06512: 在 "SYS.UTL_FILE", line 33 ORA-06512: 在 "SYS.UTL_FILE", line 436 ORA-06512: 在 "WTY.LOADFILEDATA", line 20 ORA-06512: 在 line 1 ===================== 我的存储过程是loadfiledata: create or replace procedure loadfiledata(p_path varchar2,p_filename varchar2) is
v_filehandle utl_file.file_type; --定义一个文件句柄 v_text varchar2(100); --存放文本 v_name test.name%type; v_id test.autoid%type; v_firstlocation number; v_secondlocation number; v_totalinserted number; begin if (p_path is null or p_filename is null) then goto to_end; end if; v_totalinserted:=0; /*open specified file*/ v_filehandle:=utl_file.fopen(p_path,p_filename,'r'); ----打开文件,读数据 loop begin utl_file.get_line(v_filehandle,v_text); exception when no_data_found then exit; end ; v_firstlocation:=instr(v_text,',',1,1);---文本文件第一个','位置 v_id:=substr(v_text,1,v_firstlocation-1);---截取文本文件第一个','之前字符串。 v_name:=substr(v_text,v_firstlocation+1); /*插入数据库操作*/ begin insert into test values (v_id,v_name); if sql%rowcount=0 then rollback; else commit; end if; exception when others then rollback; end; end loop; <<to_end>> utl_file.fclose(v_filehandle); null;
end loadfiledata; =========== loadfiledata存储过程在WINDOW ORALCE 8I运行正常,但是为什么在UNIX ORACLE 1OG 不行, 是不是在UNIX ORACLE 1OG 对utl_file包发生变化呀! 大家帮帮忙呀! 我的个人网站http://www.kao99.com
|