我正在尝试使用 SQL PLUS 中的 UTL_FILE 将数据从文本文件上传到我的表。文本文件名 testb.txt 包含数据:
10,迈克
20,账单
30,金
并且在我的数据库中名为 mytable 的表中包含列 (empno, empname)
我在 SQL plus 上试过这段代码:
declare
filehand utl_file.file_type;
line varchar2(4000);
vempno varchar2(50);
vempname varchar2(50);
begin
filehand := utl_file.fopen('c:\users\myuser\desktop', 'testb.txt', 'r');
loop
utl_file.get_line(filehand, line);
if line is not null then
vempno := substr(line, 1, instr(line, ',')-1);
vempname := substr(line, instr(line, ',')+1, length(line));
dbms_output.put_line(vempno);
dbms_output.put_line(vempname);
insert into mytable (empno, empname) values (vempno, vempname);
commit;
else
exit;
end if;
end loop;
commit;
utl_file.fclose(filehand);
exception
when others then
null;
end:
/
当我运行此代码时,我成功完成了 PL/SQL 过程。但是当我看到我的表没有任何变化并且数据没有从文本文件加载到我的表中时。???
我的代码有什么问题以及如何使用 UTL_file 和 dbms 将数据从文本文件上传到我的表?
请大家帮帮我,我真的需要它。
非常感谢