使用Sqlldr向oracle导入数据
一、准备工作:
1、要导入的数据保存在一个txt文件中;
2、控制文件中需要指明:数据文件所在的位置、数据文件的栏位与数据库中各栏位的对应关系,以及数据的导入方式(Append/ Truncate)。
3、文件具体内容:
A、数据文件(test.txt)
4200 ELECTRIC Cellular access F2831442 2008/07/07 14:35:10
4100 ELECTRIC Power F2831442 2008/07/07 14:35:11
4300 ELECTRIC Connectivity F2831442 2008/07/07 14:35:12
4400 ELECTRIC Audio F2831442 2008/07/07 14:35:13
4500 COSMETIC Alert F2831442 2008/07/07 14:35:14
4600 COSMETIC Cosmetics F2831442 2008/07/07 14:35:15
4700 COSMETIC Mechanics F2831442 2008/07/07 14:35:16
4800 COSMETIC Intrusion F2831442 2008/07/07 14:35:17
4900 ELECTRIC Display F2831442 2008/07/07 14:35:18
5100 ELECTRIC Camera F2831442 2008/07/07 14:35:19
5200 ELECTRIC Keypad F2831442 2008/07/07 14:35:20
5300 COSMETIC SIM F2831442 2008/07/07 14:35:21
5400 ELECTRIC Charging/ battery F2831442 2008/07/07 14:35:22
5500 COSMETIC Applications F2831442 2008/07/07 14:35:23
5600 COSMETIC Memory F2831442 2008/07/07 14:35:24
5700 COSMETIC Enhancements F2831442 2008/07/07 14:35:25
5800 CustomerNA Customer Symptom Not Known F2831442 2008/07/07 14:35:26
B、控制文件(test.ctl)
load data
infile 'test.txt'
append into table symptom
fields terminated by X'09'
(symptomcode, symptomname, description, createuser, createdate date "yyyy-mm-dd hh24:mi:ss")
注意,此处是由于控制文件与数据文件在同一目录下,因此infile 'test.txt';否则infile应该为test.txt的绝对路径。
二、导入
start menu --> run --> cmd --> sqlldr 登陆名/密码@数据库名(即service id) 控制文件名,比如:
C:\TEMP>sqlldr kia/kia@myservice test.ctl
下面是执行结果
SQL*Loader: Release 10.1.0.2.0 - Production on Tue Aug 5 09:23:35 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Commit point reached - logical record count 17
具体导入过程会有test.log文件记录,通过查看test.log即可知道是否导入成功,如果失败,也会记录失败原因等。