使用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即可知道是否导入成功,如果失败,也会记录失败原因等。


 

原文地址:https://www.cnblogs.com/aspsmile/p/1260624.html