注册
DMFLDR(快速数据装载命令行工具) 对含有分隔符的字段数据的处理
专栏/金的探索记录/ 文章详情 /

DMFLDR(快速数据装载命令行工具) 对含有分隔符的字段数据的处理

2021/01/13 2277 3 0
摘要 DMFLDR 对含有分隔符的字段数据的处理

DMFLDR(DM Fast Loader)是 DM 提供的快速数据装载命令行工具。用户通过使用 DMFLDR 工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式写入文本文件。

对于字段数据含有分隔符的情况,一般情况下可以直接更换分隔符符号。当无法直接修改分隔符符号,只能退而求其次,选择在控制文件中为列指定 position() 的字段数据。不过,此方法需要各列字段数据长度保持一致,否则无法实施。

对于此种情况,可以使用 DMFLDR 的封闭符进行处理,把含有分隔符符号的字段数据利用封闭符进行封闭,而后根据控制文件进行加载,实现数据的完美入库。具体实现的效果如下:

  1. 创建测试表
CREATE TABLE "SYSDBA"."TEST01" ( "C1" VARCHAR2(20), "C2" VARCHAR2(20), "C3" VARCHAR2(20), "C4" VARCHAR2(20));
  1. 编辑数据文件
[dmdba@dameng test]$ cat test01.txt 1,"2",3,4 22,"3,40",4,5 4556,"5",6,7
  1. 编辑控制文件
[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 )
  1. 利用控制文件加载数据
[dmdba@dameng test]$/opt/app/dmdbms/bin/dmfldr userid=SYSDBA/SYSDBA@192.168.10.188:5236CONTROL=\'/opt/app/software/test/test01.ctl\'
  1. 查询测试表数据
select * from SYSDBA."TEST01"; C1 C2 C3 C4 1 2 3 4 22 3,40 4 5 4556 5 6 7

如上可知,利用 DMFLDR 的封闭符,字段数据含有分隔符也能快速解决。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服