记一次从TXT文件导入数据到Oracle数据库的经历
程序员文章站
2022-07-13 08:04:48
...
因为业务需要,计划从别库迁移几亿笔业务数据作为基础数据使用,双方约定好采用如下格式的.txt
文档进行数据交互。
所有字段的数据将按照不超过该字段指定的长度提供。数据各字段间用|键分割。各条记录间用回车换行分割。
从.txt
文档导入Oracle库的时候,不能在导入的过程中修改数据,也不能增加字段(入库时间之类的),所以先创建一张临时表,用于从TXT接收数据。
CREATE TABLE "TEMP_IMPORT" (
-- 字段部分省略
);
写导.txt
文件的脚本
其中:truncate
可以根据自己需要更改成append
trailing nullcols
用于处理空字段
如果存在编码问题,可以加上characterset 编码类型
处理
这个文件以.ctl
为扩展名
load data
infile 'Test.txt'
truncate into table TEMP_IMPORT
fields terminated by "|"
trailing nullcols
(
FIELD1,
FIELD2,
FIELD3
)
执行
sqlldr userid=数据库用户名/密码 control=ctl文件名.ctl log=日志存放路径/日志文件名.log
数据进入库中临时表之后,表之间的数据迁移根据数量灵活配置
比如使用insert into select
insert into IMPORT (
FIELD1,
FIELD2,
FIELD3,
INSERT_TIME
)
select
a.FIELD1,
a.FIELD2,
a.FIELD3,
sysdate
from TEMP_IMPORT a ;
推荐阅读
-
记一次从TXT文件导入数据到Oracle数据库的经历
-
关于导入txt文件到数据库的有关问题
-
使用geotools导入shp文件到Oracle数据库时表名带下划线问题的解决方法
-
如何通过命令将.sql文件导入到mysql的数据库中,或者从MySQL数据库中导出sql文件到本地
-
记录一次从txt文件导入数据的python下的MySQL实现
-
记录一次从txt文件导入数据的python下的MySQL实现
-
记一次基于mybatis的Springboot项目数据库从Mysql迁移至Oracle的全过程(超详细)
-
记一次基于mybatis的Springboot项目数据库从Mysql迁移至Oracle的全过程(超详细)