ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【SQL*Loader】SQL*Loader实验之(3)--要加载的数据中包含分隔符

【SQL*Loader】SQL*Loader实验之(3)--要加载的数据中包含分隔符

原创 Linux操作系统 作者:chicheng_cn421 时间:2011-06-15 06:44:42 0 删除 编辑


【实验内容】
将实验(1)中的数据文件和控制文件稍作修改,模拟一种要加载的数据本身包含逗号的情况。


【实验过程】

//(1)看一下数据导入前dept2中表的数据状况。

C:\>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 6月 15 06:32:32 2011

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

SQL> conn scott@test
输入口令:
已连接。
SQL> set feedback on
SQL> select * from dept2;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
        11 ACCOUNTING     NEW YORK
        21 RESEARCH       DALLAS
        31 SALES          CHICAGO
        41 OPERATIONS     BOSTON

已选择8行。

SQL>


//(2)做成dept2_ShiYan03_01.dat数据文件
内容如下:
----------------------------------------
12,ACCOUNTING,NEW YORK
22,RESEARCH,DALLAS
32,"SALES,LVA",CHICAGO
42,OPERATIONS,BOSTON
----------------------------------------

//(3)做成sqlloder导入用控制文件dept2_ShiYan03_01.ctl
内容如下:
----------------------------------------
LOAD DATA
INFILE 'dept2_ShiYan03_01.dat'
BADFILE 'dept2_ShiYan03_01.bad'
INTO TABLE dept2
APPEND
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'  -- OPTIONALLY ENCLOSED BY参数指明定界符为双引号
                            -- (CSV格式文件默认定界符是双引号.可以根据实际情况修改OPTIONALLY的参数值
( DEPTNO,
  DNAME,
  LOC
)
----------------------------------------

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

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

--------------------
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>cd\

C:\>d:

D:\>cd D:\Oracle学习\test\sqlloader\实验3

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

SQL*Loader: Release 10.2.0.1.0 - Production on 星期三 6月 15 06:41:54 2011

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

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

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

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

SQL*Loader: Release 10.2.0.1.0 - Production on 星期三 6月 15 06:41:54 2011

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

控制文件:      dept2_ShiYan03_01.ctl
数据文件:      dept2_ShiYan03_01.dat
  错误文件:    dept2_ShiYan03_01.bad
  废弃文件:    未作指定
 
(可废弃所有记录)

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

表 DEPT2,已加载从每个逻辑记录
插入选项对此表 APPEND 生效

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


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


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

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

从 星期三 6月  15 06:41:54 2011 开始运行
在 星期三 6月  15 06:41:55 2011 处运行结束

经过时间为: 00: 00: 00.73
CPU 时间为: 00: 00: 00.20
--------------------

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

    DEPTNO DNAME          LOC
---------- -------------- -------------
        12 ACCOUNTING     NEW YORK
        22 RESEARCH       DALLAS
        32 SALES,LVA      CHICAGO
        42 OPERATIONS     BOSTON
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
        11 ACCOUNTING     NEW YORK
        21 RESEARCH       DALLAS
        31 SALES          CHICAGO
        41 OPERATIONS     BOSTON

已选择12行。

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


 

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

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

注册时间:2011-03-05

  • 博文量
    261
  • 访问量
    367725