使用sqlloader进行数据导入

本文详细介绍了如何使用 SQLLoader 在 Oracle 数据库中批量导入数据。包括创建控制文件、设置不同导入方式(如 append 和 truncate)及执行命令的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>>使用sqlloader进行数据导入<<
 

环境说明:
 数据库:Oracle8.1.6OEM;
 系  统:Windows2000 Server.
*******************************************************************************************
用记事本创建控制文件input.ctl,内容如下:

load data
infile 'test.txt'  --数据文件
append into table Test
fields terminated by '|' --或者是x'09'来标识,也即字段终止与制表符TAB
(    --字段名称
cp_bh char(30),
mc char(50),
cp_ljmc char(100),
zyh char(20),
dj
)

*******************************************************************************************

文本文件test.txt中的内容格式,例如下面

10300108200|XPB65-113S|后盖  PP  0.34kg|0030200525      |3.42000008
10300108200|XPB65-113S|洗涤桶盖  浅兰透明ABS|0030200877      |15.52000046

一般情况都是相互之间导出导入数据,比方说从excel导出的数据你可以将其保存为:制表符分隔,起名为test,……,等等。
*******************************************************************************************
使用sql*loader进行数据导入(sqlldr -? 查看帮助)

在“运行”里执行,命令如下:

 sqlldr username/pw control=路径/input.ctl data=路径/test.txt log=路径 bad=路径

 

使用sqlloader批量导入输入:
使用sqlloader可以从文件中批量导入数据
1.insert方式:导入表中数据应该为空
2.append方式:相当于是追加,在以前基础上插入数据
3.truncate方式:在导入之前先将表中的数据truncate掉
4.replace方式:导入数据之前将表中的数据全部delete掉
truncate和replace方式没有什么明显的区别,只是一个是truncate,另一个delete
在这看来应该是一个可以通过闪回恢复,一个不可以
sqlldr userid=username/pwd@servicename control=./ctl
create table position(col1 char(5),col2 char(5))
控制文件(control):
--指定文件方式-------
load data
infile 'd:/*.csv'
append/insert/replace/truncate
into table table_name
(col1,col2)
----------------------

--指定列宽方式:
load data
infile *
append/insert/replace/truncate
into table table_name
(
col1 position(01:05) char(5),
col2 position(06:10) char(5)
)
begindata
1234567890
abcdefghij



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=826053

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值