Oracle数据库使用UTL_file和dbms将数据从文本文件加载到数据库

时间:2018-08-06 18:11:03

标签: oracle utl-file dbms-output

我正在尝试使用SQL PLUS中的UTL_FILE将文本文件中的数据上传到我的表中。 文本文件名testb.txt包含数据:

10,麦克

20,bill

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将数据从文本文件上传到我的表中?

请大家帮我,我真的很需要它。

非常感谢

0 个答案:

没有答案