Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6548175
  • 博文数量: 1005
  • 博客积分: 8199
  • 博客等级: 中将
  • 技术积分: 13071
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-25 20:19
个人简介

脚踏实地、勇往直前!

文章分类

全部博文(1005)

文章存档

2020年(2)

2019年(93)

2018年(208)

2017年(81)

2016年(49)

2015年(50)

2014年(170)

2013年(52)

2012年(177)

2011年(93)

2010年(30)

分类: Oracle

2012-11-07 20:43:54

 
1.加载的数据,purprice.txt文件内容如下:
10014130|2010249|2012/10/18|RUI.LI|1100|7.80|CNY|0247101|深圳市商之杰贸易发展有限公司|6932850200481|420481
10000010|2010562|2012/10/18|RUI.LI|1100|3.00|CNY|0315101|*深圳市国免丽晶企业发展有限公司|6902227040941|129178
10000010|2010484|2012/10/18|RUI.LI|1100|3.00|CNY|1349092|(新)深圳市国免丽晶企业发展有限公司|6902227040941|129178
10000019|2010622|2012/10/18|RUI.LI|1100|14.20|CNY|1346520|*深圳市新华通实业有限公司|6914782202566|301074
10000019|2010586|2012/10/18|RUI.LI|1100|14.20|CNY|1349266|东莞徐记食品有限公司凤岗分公司|6914782202566|301074
10000019|2010587|2012/10/18|RUI.LI|1100|14.20|CNY|1350950|东莞徐记食品有限公司龙岗分公司|6914782202566|301074
2.数据库表结构如下:
create table TB_SAP_DATA
(
  ID1  VARCHAR2(128),
  ID2  VARCHAR2(128),
  ID3  VARCHAR2(128),
  ID4  VARCHAR2(128),
  ID5  VARCHAR2(128),
  ID6  VARCHAR2(128),
  ID7  VARCHAR2(128),
  ID8  VARCHAR2(128),
  ID9  VARCHAR2(128),
  ID10 VARCHAR2(128),
  ID11 VARCHAR2(128)
);
3.通过如下语句获取控制文件的字段部分
SELECT
decode (xh, 1, ' ', ' , ')||
rpad (column_name, 33, ' ')||
rpad('CHAR('|| data_length ||')', 16, ' ')||
'"trim(:'||
trim(column_name)||
')"'
FROM
(
select
RANK() OVER ( PARTITION BY table_name ORDER BY column_id ASC ) AS xh
,column_name
,data_length
from user_tab_columns
where table_name= upper ('tb_sap_data')
) A
ORDER BY A.xh;

4.创建控制文件test.ctl
控制文件test.ctl内容如下
load data
infile 'C:\purprice.txt'
truncate into table tb_sap_data
fields terminated by '|'
TRAILING NULLCOLS
(
  ID1                              CHAR(128)       "trim(:ID1)"
 ,ID2                              CHAR(128)       "trim(:ID2)"
 ,ID3                              CHAR(128)       "trim(:ID3)"
 ,ID4                              CHAR(128)       "trim(:ID4)"
 ,ID5                              CHAR(128)       "trim(:ID5)"
 ,ID6                              CHAR(128)       "trim(:ID6)"
 ,ID7                              CHAR(128)       "trim(:ID7)"
 ,ID8                              CHAR(128)       "trim(:ID8)"
 ,ID9                              CHAR(128)       "trim(:ID9)"
 ,ID10                             CHAR(128)       "trim(:ID10)"
 ,ID11                             CHAR(128)       "trim(:ID11)"
)
5.开始加载数据
sqlldr userid=hxl/hxl@hxl control=c:\test.ctl log=c:\test.lg bad=c:\test.bad
 
--The End--
阅读(3556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~