cmd->sqlldr->如出现图中的参数信息说明sqlldr已安装并可用,通过这些参数信息可以帮助用户进一步使用sqlldr。
2、获取数据文件
我的数据文件存于d:/datefile.txt,内容如下:
3、根据数据文件写控制文件
在D盘根目录下创建test.txt文件,文件内容如下:
load data infile 'd:/datefile.txt'//指定数据文件位置 TRUNCATE //指定导入方式 into table CUSTBASICINFO //指定写入CUSTBASICINFO表 fields terminated by '|' //指定字段分隔符为| ( //导入字段 COMPANYCODE, CUSTTEL, CUSTID"SEQ_RA.NEXTVAL",//主键 使用SWQ_RA序列来自动生成 CUSTNAME, CUSTBRAND, CUSTLEVEL, CONTACTADDRESS, SERVICETYPE, CUSTMANAGER, BIRTHDAY )
补充:导入方式说明
以下是4种装入表的方式
APPEND 原先的表有数据 就加在后面
INSERT 装载空表 如果原先的表有数据 sqlloader会停止 默认值
REPLACE 原先的表有数据 原先的数据会全部删除
TRUNCATE 指定的内容和replace的相同 会用truncate语句删除现存数据
4、使用sqlldr运行该控制文件
cmd中输入如下
sqlldr userid=用户名/密码@数据库 control=d:\test.txt log= d:\out.log
运行
可以通过输出的log文件查看运行结果,一下是d:\out.log中的内容:
SQL*Loader: Release 10.2.0.1.0 - Production on 星期四 12月 13 15:54:28 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
控制文件: d:\test.txt
数据文件: d:/datefile.txt
错误文件: d:\datefile.bad
废弃文件: 未作指定
(可废弃所有记录)
要加载的数: ALL
要跳过的数: 0
允许的错误: 50
绑定数组: 64 行, 最大 256000 字节
继续: 未作指定
所用路径: 常规
表 CUSTBASICINFO,已加载从每个逻辑记录
插入选项对此表 TRUNCATE 生效
列名 位置 长度 中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
COMPANYCODE FIRST * | CHARACTER
CUSTTEL NEXT * | CHARACTER
CUSTID NEXT * | CHARACTER
列的 SQL 串: "SEQ_RA.NEXTVAL"
CUSTNAME NEXT * | CHARACTER
CUSTBRAND NEXT * | CHARACTER
CUSTLEVEL NEXT * | CHARACTER
CONTACTADDRESS NEXT * | CHARACTER
SERVICETYPE NEXT * | CHARACTER
CUSTMANAGER NEXT * | CHARACTER
BIRTHDAY NEXT * | CHARACTER
表 CUSTBASICINFO:
11 行 加载成功。
由于数据错误, 0 行 没有加载。
由于所有 WHEN 子句失败, 0 行 没有加载。
由于所有字段都为空的, 0 行 没有加载。
为绑定数组分配的空间: 165120 字节 (64 行)
读取 缓冲区字节数: 1048576
跳过的逻辑记录总数: 0
读取的逻辑记录总数: 11
拒绝的逻辑记录总数: 0
废弃的逻辑记录总数: 0
从 星期四 12月 13 15:54:28 2012 开始运行
在 星期四 12月 13 15:54:30 2012 处运行结束
经过时间为: 00: 00: 01.51
CPU 时间为: 00: 00: 00.09