使用oracle sqlldr 导入excel 文件到oracle数据库
1、首先创建中间表 IMPORT_TABLE
CREATE TABLE IMPORT_TABLE
(
INT1 VARCHAR2(10),
VAR2 VARCHAR2(10),
DATE3 VARCHAR2(10),
NUMBER4 VARCHAR2(10)
);
2、创建bat执行文件(bat_exe.bat)【bat文件也可以不用创建,使用cmd执行bat文件中语句效果相同】内容为:
sqlldr username/"""1"""@orcl control=‘G:\Temp_Data\control\control.ctl‘ log=‘G:\Temp_Data\control\log.log‘
3、创建control文件(control.ctl)内容为:
options(skip = 1 )
LOAD DATA
INFILE ‘G:\Temp_Data\control\import_table.txt‘
BADFILE ‘G:\Temp_Data\control\error.log‘
Append INTO TABLE import_table
Fields terminated by ‘|‘
Optionally enclosed by ‘"‘
trailing nullcols
(INT1,VAR2,DATE3,NUMBER4)
4、数据文件,这里要把excel 文件 复制到txt文件中,或者转换为 csv文件(日期字段要手工调整为字符格式),内容为:
int1|var2|date3|number4
1|大幅度|2021-1-1|25.8
2|32423|2021-1-1|36.7
5、执行 bat_exe.bat
附件链接:https://files.cnblogs.com/files/KEY-FCQ/success.zip
注意点:
首先 sqlldr 包含三个文件 bat文件(也可以用cmd执行)、control文件(指定了表信息、数据文件地址、日志文件地址、错误文件地址)、数据文件
control.ctl 文件中 truncate 和 into table tablename 联合使用,使用append 不能使用truncate
中间表 tablename 里面的字段最好都是 varchar2 类型,不然处理起来问题多