DMFLDR(DM Fast Loader)是 DM 提供的快速数据装载命令行工具。用户通过使用 DMFLDR 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。
对于字段数据含有分隔符的情况,一般情况下可以直接更换分隔符符号。当无法直接修改分隔符符号,只能退而求其次,选择在控制文件中为列指定 position() 的字段数据。不过,此方法需要各列字段数据长度保持一致,否则无法实施。
对于此种情况,可以使用 DMFLDR 的封闭符进行处理,把含有分隔符符号的字段数据利用封闭符进行封闭,而后根据控制文件进行加载,实现数据的完美入库。具体实现的效果如下:
CREATE TABLE "SYSDBA"."TEST01"
(
"C1" VARCHAR2(20),
"C2" VARCHAR2(20),
"C3" VARCHAR2(20),
"C4" VARCHAR2(20));
[dmdba@dameng test]$ cat test01.txt
1,"2",3,4
22,"3,40",4,5
4556,"5",6,7
[dmdba@dameng test]$ cat test01.ctl
OPTIONS
(
SKIP = 0
IGNORE_BATCH_ERRORS = TRUE
DIRECT = FALSE
)
LOADDATA
INFILE'/opt/app/software/test/test01.txt'
INTO TABLE TEST01
FIELDS ','
(
C1,
C2 OPTIONALLY ENCLOSE BY'"',
C3,
C4
)
[dmdba@dameng test]$/opt/app/dmdbms/bin/dmfldr userid=SYSDBA/SYSDBA@192.168.10.188:5236CONTROL=\'/opt/app/software/test/test01.ctl\'
select * from SYSDBA."TEST01";
C1 C2 C3 C4
1 2 3 4
22 3,40 4 5
4556 5 6 7
如上可知,利用 DMFLDR 的封闭符,字段数据含有分隔符也能快速解决。
文章
阅读量
获赞