ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【SQL*Loader】SQL*Loader实验之(15)--数据导入过程中,跳过不要的行数据

【SQL*Loader】SQL*Loader实验之(15)--数据导入过程中,跳过不要的行数据

原创 Linux操作系统 作者:chicheng_cn421 时间:2011-06-20 06:47:52 0 删除 编辑


【实验内容】
模拟情况:数据导入过程中,跳过不要的行数据
※这个的原理和做法与实验(13)类似,是SQL*Loader控制文件中WHEN语法的一种应用。


【实验过程】
//(1)数据加载前的dept2中的数据状况。
先清理一下数据。
-------------------------
SQL> truncate table dept2; 

表被截断。

SQL> select * from dept2;

未选定行

SQL>
-------------------------

//(2)做成数据文件dept2_ShiYan15_01.dat
----------------------------------------
39,,NEW YORK
21,RESEARCH,DALLAS
31,SALES,CHICAGO
41,OPERATIONS,BOSTON
----------------------------------------

//(3)做成sqlloder导入用控制文件dept2_ShiYan15_01.ctl
内容如下:
----------------------------------------
LOAD DATA
INFILE 'dept2_ShiYan15_01.dat'
BADFILE 'dept2_ShiYan15_01.bad'
DISCARDFILE 'dept2_ShiYan15_01.dis'  --废弃文件
INTO TABLE dept2
APPEND
WHEN DNAME != '' and (01) = '3' -- 语法说明:(01) 代表第一个字符, (5:7) 代表第5到7个字符
FIELDS TERMINATED BY ","
(  DEPTNO,
   DNAME,
   LOC
   )
----------------------------------------

//(4)启动并执行sqlloader。

sqlldr scott/tiger control="dept2_ShiYan15_01.ctl"  log="dept2_ShiYan15_01.log"

--------------------
D:\Oracle学习\test\sqlloader\实验15>sqlldr scott/tiger control="dept2_ShiYan15_01.ctl"  log="dept2_ShiYan15_01.log"

SQL*Loader: Release 10.2.0.1.0 - Production on 星期一 6月 20 06:44:45 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

达到提交点 - 逻辑记录计数 4

D:\Oracle学习\test\sqlloader\实验15>
--------------------

产生的Log文件
--------------------

SQL*Loader: Release 10.2.0.1.0 - Production on 星期一 6月 20 06:44:45 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

控制文件:      dept2_ShiYan15_01.ctl
数据文件:      dept2_ShiYan15_01.dat
  错误文件:    dept2_ShiYan15_01.bad
  废弃文件:    dept2_ShiYan15_01.dis
(可废弃所有记录)

要加载的数: ALL
要跳过的数: 0
允许的错误: 50
绑定数组: 64 行, 最大 256000 字节
继续:    未作指定
所用路径:       常规

表 DEPT2,已加载在DNAME != BLANKS
和1: 1 = 0X33(字符 '3')
插入选项对此表 APPEND 生效

   列名                        位置      长度  中止 包装数据类型
------------------------------ ---------- ----- ---- ---- ---------------------
DEPTNO                              FIRST     *   ,       CHARACTER           
DNAME                                NEXT     *   ,       CHARACTER           
LOC                                  NEXT     *   ,       CHARACTER           

记录 1: 被废弃 - 所有 WHEN 子句失败。
记录 2: 被废弃 - 所有 WHEN 子句失败。
记录 4: 被废弃 - 所有 WHEN 子句失败。

表 DEPT2:
  1 行 加载成功。
  由于数据错误, 0 行 没有加载。
  由于所有 WHEN 子句失败, 3 行 没有加载。
  由于所有字段都为空的, 0 行 没有加载。


为绑定数组分配的空间:                 49536 字节 (64 行)
读取   缓冲区字节数: 1048576

跳过的逻辑记录总数:          0
读取的逻辑记录总数:             4
拒绝的逻辑记录总数:          0
废弃的逻辑记录总数:        3

从 星期一 6月  20 06:44:45 2011 开始运行
在 星期一 6月  20 06:44:46 2011 处运行结束

经过时间为: 00: 00: 00.59
CPU 时间为: 00: 00: 00.21

--------------------

产生的废弃文件
--------------------
39,,NEW YORK
21,RESEARCH,DALLAS
41,OPERATIONS,BOSTON
--------------------

执行后 dept2中的数据状况。
--------------------
SQL> select * from dept2;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        31 SALES          CHICAGO

已选择 1 行。

SQL>
--------------------
以上。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20335819/viewspace-700227/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-03-05

  • 博文量
    261
  • 访问量
    368871