文本文件中的数据导入到Oracle数据库表 .

将文本文件中的数据导入到Oracle数据库表中,主要操作步骤如下:
1、确认Oracle数据库已经建好了需要导入的数据表结构
2、准备好数据文件syzjgb1.dat,内容如下:
001|中外合资|
002|中外合作|
003|外商独资|
004|乡镇企业|
005|国有联营|
006|集体联营|
007|其他联营|
008|股份合作|
009|外商投资|
010|事业单位|
注:固定字段长度的文本文件(每个字段拥有固定的字段长度);有分隔符的文本文件(每个字段都有相同的分隔符分隔)
数据文件syzjgb2.txt,内容如下:
001|国有|
002|集体|
003|民营|
004|中外合资|
005|中外合作|
006|外商独资|
007|个体|
009|乡镇企业|
010|国有联营|
011|集体联营|
012|国有与集体联营|
013|其他联营|
014|股份合作|
015|港澳台商投资|
016|外商投资|
017|事业单位|
008|其他|
000|未分类|
3、针对数据源文件制作一个控制文件(syzjg1.ctl),控制文件是用来解释如何对源文件进行解析,其中需要包含源文件的数据格式、目标数据库的字段等信息
sqlldr   用户名/密码@服务名   control=控制文件名.CTL  
    
load   data                     --1、控制文件标识  
infile   'test.txt'         --2、要输入的数据文件名为test.txt  
append   into   table   test    --3、向表test中追加记录  
fields   terminated   by   X'09'  --4、字段终止于X'09',是一个制表符(TAB)  
(id,username,password,sj)     --定义列对应顺序  
    
   insert,为缺省方式,在数据装载开始时要求表为空  
   append,在表中追加新记录  
   replace,删除旧记录,替换成新装载的记录  
   truncate,同上
a、固定长度的文本
LOAD DATA
infile 'c:/syzjgb1.dat'
INSERT INTO TABLE syzjgb
fields terminated "|"
trailing nullcols(
   SYZJG POSITION(1:3),
   SYZJG_NAME POSITION(5:12)
)
注:POSITION(M:N)表示该字段是从位置M到位置N。
b、不固定长度的文本
LOAD DATA
infile 'syzjgb2.dat'
INSERT INTO TABLE syzjgb
fields terminated "|"
trailing nullcols
(
   SYZJG,
   SYZJG_NAME
)
其中,infile 'c:/syzjgb1.txt'指明所要导入的源文件,其实源文件也可以直接通过命令行来输入获得,
       syzjgb为目标表的名字,
       fields terminated "|"是指源文件的各个字段是以逗号分隔,
       trailing nullcols 表示遇到空字段依然写入到数据库表中,
       SYZJG、SYZJG_NAME字段是目标数据库表的字段结构。
注意:控制文件需要与源文件的格式信息一致,否则导入数据会出现异常。
4、命令行加载数据
在 Dos 窗口下使用 SQl*Loader 命令实现数据的导入,即使用 Oracle 的 sqlldr 命令进行数据的导入
C:/>sqlldr userid=system/manager@ serviceName control=c:/input.ctl

默认日志文件名为:input.log

默认坏记录文件为:input.bad

如果导入不全,可以查找BAD文件找到原因





用SQLLDR导入含日期格式的TABLE

修改控制文件如下:
LOAD DATA
infile 'qyflxxb_v2.dat'
INSERT INTO TABLE qyflxxb_v2
fields terminated by "|"
TRAILING NULLCOLS
(
  KHH,
  KHMC,
  FLRQ DATE"YYYY-MM-DD",
  JGM,
  FLBH,
  YJFLBH,
  EJFLBH,
  SNYYSR,
  SNMZCZE,
  ZGZS,
  CDB,
  TSKHBZ,
  NDHCBZ,
  XYDJ
)

猜你喜欢

转载自gelu2.iteye.com/blog/1725631
今日推荐