DMFLDR对含有分隔符的字段数据的处理

对于利用dmfldr待加载的数据文件中对应字段数据含有分隔符该如何处理?

1.     创建测试表

CREATE TABLE “SYSDBA”.“TEST01”

(

C1” VARCHAR2(20),

C2” VARCHAR2(20),

C3” VARCHAR2(20),

C4” VARCHAR2(20)) STORAGE(ON “MAIN”, CLUSTERBTR) ;

2.     编辑数据文件

测试数据如下:

1,“2”,3,4

22,“3,40”,4,5

4556,“5”,6,7

3.     编辑控制文件

编辑控制文件test01.ctl 如下:

OPTIONS

(

 SKIP = 0

 IGNORE_BATCH_ERRORS = TRUE

 DIRECT = FALSE

)

LOAD DATA

INFILE ‘C:\Users\Think\Desktop\test01.txt’

INTO TABLE TEST01

FIELDS ‘,’

(

C1,

C2 OPTIONALLY ENCLOSE BY ‘"’,

C3,

C4

)

4.     利用控制文件加载数据

D:\dm7\bin>dmfldr.exe userid=SYSDBA/SYSDBA@LOCALHOST:5236 CONTROL='c:\text01.ctl'

dmfldr V7.6.0.197-Build(2019.09.12-112648)ENT

dmfldr:

 

Copyright (c) 2011, 2015, Dameng.  All rights reserved.

 

控制文件:

 

加载行数: 全部

 

每次提交服务器行数:50000

 

跳过行数:0

 

允许错误数:100

 

是否直接加载:No

 

是否插入自增列:No

 

数据是否已按照聚集索引排序:No

 

字符集:GBK

 

 

 

数据文件共1 :

C:\Users\Think\Desktop\test01.txt

 

错误文件:fldr.bad

 

目标表:TEST01

 

列名                                                                                                                             包装数据类型         终止

C1                                                                                                                               CHARACTER            ,

C2                                                                                                                               CHARACTER            ,

C3                                                                                                                               CHARACTER            ,

C4                                                                                                                               CHARACTER            ,

 

 

3 rows processed.

 

目标表:TEST01

3 行加载成功。

由于数据格式错误,0 丢弃。

由于数据错误,0 没有加载。

 

跳过的逻辑记录总数:0

读取的逻辑记录总数:3

拒绝的逻辑记录总数:0

 

用时:9.169(ms)

5.     查询测试表数据

 

SQL>select * from SYSDBA.“TEST01”;

 

C1    C2    C3    C4

 

1       2       3       4

 

22     3,40 4       5

 

4556 5      6       7

如上可知,利用dmfldr 的封闭符,我们所期望的结果完美达成,字段数据含有分隔符也能快速解决。


请使用浏览器的分享功能分享到微信等