Chinaunix首页 | 论坛 | 博客
  • 博客访问: 414545
  • 博文数量: 105
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 889
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-23 21:45
个人简介

目前在一家电信公司就职报表开发工程师,2010年开始从事运维方面的工作,期间从事过业务维护工程师、自动化运维工程师,2016年转为报表开发工程师。有耐心,抗压力、爱折腾,喜欢研究自动化工具。

文章分类

全部博文(105)

分类: Oracle

2016-02-17 14:40:19

oracle在linux如何安装sqlldr

(1)  从Oracle服务器上拷贝相应的sqlldr执行程序。     
1> scp  /usr/local/oracle/sqlldr      
2> mkdir -p /usr/local/oracle/rdbms/mesg      cd /usr/local/oracle/rdbms/mesg/      scp  ./ulus.msb
3> 测试
$> sqlldr
打印帮助信息!就成功啦!
常见的
分隔符在控制文件中
1、
X'09' 表示 tab      

2、data.test 数据文件数据:

12,xvbg
13,mggjf
14,oijjg
35,zxcs
34,svvv

table 表结构:
create table test( id number(10),name char(20))

data.ctl 内容:

load data
infile data.test
truncate into table test
fields terminated by ','
(id,name)
3、

所有字段使用空格分隔,其中有两个字段使用双引号包含(其中可能有空格),数据样本、域分隔如下:
60.23.202.124 26.120.3.61 - - 1 [09/Oct/2011:09:00:01 +0800] "POST /BocnetClient/PAYSNo&SignDynPayments.do HTTP/1.1" 200 23089 ""
------------- ----------- - - - ---------------------------- ------------------------------------------------------- --- ----- --------------------------------

看起来很复杂,其实通过使用OPTIONALLY ENCLOSED BY就可以轻松实现。
另外,由于该字段较长,需要在控制文件中说明字段长度(超过255),否则报错。

--1,创建临时表
drop table tmp_webaccess;
create table tmp_webaccess
(
  col1 varchar2(20),
  col2 varchar2(20),
  col3 varchar2(20),
  col4 varchar2(20),
  col5 varchar2(20),
  col6 date,
  col8 varchar2(200),
  col9 varchar2(100),
  col10 varchar2(100),
  col11 varchar2(200)
);
 

--2,创建控制文件
more webaccess.ctl
LOAD DATA
infile "webaccess.txt"
Append INTO TABLE tmp_webaccess
FIELDS TERMINATED BY ' ' 
OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
col1,
col2,
col3,
col4,
col5,
col6 "to_date(replace(:col6,'['),'dd/mm/yyyy:hh24:mi:ss')",
col7 filler,
col8 char(4000),
col9,
col10,
col11 char(4000)
)

阅读(8518) | 评论(0) | 转发(0) |
0

上一篇:sqlldr的用法

下一篇:PLSQL使用技巧

给主人留下些什么吧!~~