SQL LOADER使用

来源:互联网 发布:零基础学编程 先学什么 编辑:程序博客网 时间:2024/05/17 06:25

转自huan.gu专栏:http://blog.csdn.net/gh320/article/details/17048907

1、执行的命令
sqlldr 数据库用户名/密码 control=控制文件名 direct=true
例子

sqlldr apps/apps control=load_user.ctl direct=true


2、字段终止方式
fields terminated by ","
fields terminated by X'09'  --字段终止于X'09',是一个制表符(TAB)

3、插入模式
a、insert,  为缺省方式,在数据装载开始时要求表为空
b、append,  在表中追加新记录
c、replace, 删除旧记录,替换成新装载的记录
d、truncate,同上

4、实现具体过程例子:
1) 创建临时表

DROP TABLE cux_user_temp;
CREATE TABLE cux_user_temp
(
seq VARCHAR2(255),
company VARCHAR2(255),
user_name VARCHAR2(255),
descr VARCHAR2(255),
emp_num VARCHAR2(30),
emp VARCHAR2(255),
resp_name VARCHAR2(255),
pwd VARCHAR2(255),
comments VARCHAR2(255),
process_flag VARCHAR2(10),
error_msg    VARCHAR2(255)
);

2)将导入模板存成csv数据

--NO     公司     用户名     用户说明    人员编码     人员     职责     密码     备注         
3)在ultraedit中打开csv文件执行assii转换utf-8,否则导入数据中中文可能不正常。

4)如下编写sqlldr控制文件:load_user.ctl
LOAD DATA
INFILE 'user_prod.dat'
BADFILE 'user_prod.bad'
DISCARDFILE 'user_prod.dsc'
INSERT INTO TABLE cux_user_temp
Fields terminated by "," Optionally enclosed by '"'
(
seq ,
company ,
user_name ,
descr ,
emp_num ,
emp ,
resp_name ,
pwd ,
comments
)

5)操作系统执行命令完成sqlloader导入
sqlldr apps/apps control=load_user.ctl direct=true

 

原创粉丝点击