通过dmfldr工具导入和导出数据,熟悉dmfldr的快速配置以及行列分隔符的设计和使用
1.dmfldr简介
dmfldr可以快速导入文本文件到dm表中,也可以把表中数据快速导出到文本文件中
2.参数简介
示例: DMFLDR SYSDBA/SYSDBA CONTROL='c:\fldr.ctl'
USERID 必须是命令行中的第一个参数
CONTROL 必须是命令行中的第二个参数
字符串类型参数必须以引号封闭
3.控制文件编写
控制文件定义导入或导出数据文件的格式,以及对应的表的映射
D:\dmdbms\dmfldr\dep.ctl
OPTIONS ( SKIP = 0 ROWS = 50000 DIRECT = TRUE INDEX_OPTION = 2 ) LOAD DATA INFILE 'D:\dmdbms\dmfldr\dep.txt' BADFILE 'D:\dmdbms\dmfldr\dep.bad' INTO TABLE DEPARTMENTS FIELDS '|' ( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID ) |
4.数据文件编写
D:\dmdbms\dmfldr\dep.txt
1|dep1|11|121 2|dep2|12|122 3|dep3|13|123 4|dep4|14|124 5|dep5|15|125 6|dep6|16|126 7|dep7|17|127 8|dep8|18|128 9|dep9|19|129 |
5.创建表
create table DEPARTMENTS ( DEPARTMENT_ID DEC(4) not null, DEPARTMENT_NAME VARCHAR(30) not null, MANAGER_ID DEC(6), LOCATION_ID DEC(4), constraint pk_dep primary key(DEPARTMENT_ID)) |
6.执行装载程序
dmfldr.exe userid=SYSDBA/SYSDBA@localhost:5236 control='D:\dmdbms\dmfldr\dep.ctl'
7.查看运行结果
8.数据导出控制文件编写
dep_out.ctl
OPTIONS ( SKIP = 0 ROWS = 50000 DIRECT = TRUE INDEX_OPTION = 2 ) LOAD DATA INFILE 'D:\dmdbms\dmfldr\dep_out.txt' INTO TABLE DEPARTMENTS FIELDS '|' ( DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID ) |
9.数据导出命令
dmfldr.exe userid=SYSDBA/SYSDBA@localhost:5236 control='D:\dmdbms\dmfldr\dep_out.ctl' mode='out'
导出文件的内容
10.行列分隔符
dmfldr参数中,ROW_SEPERATOR 行分隔符,FIELD_SEPERATOR 列分隔符,在数据载入时,dmfldr根据控制文件指定的格式来解析数据文件;导出数据时,dmfldr也会根据控制文件指定的列分隔符、行分隔符等生成数据文件。控制文件中还可以指定其他的一些dmfldr参数值。缺省列分隔符是|,行分隔符是回车
ROW_SEPERATOR
指定行分隔符,分隔符额外指定 X 表示十六进制的分隔符,长度应小于 128。可选参
数。
n FIELD_SEPERATOR
指定列分隔符,分隔符额外指定 X 表示十六进制的分隔符,长度应小于 255。可选参
数。
例 使用 FIELD_SEPERATOR 参数指定分隔符
./dmfldr USERID=SYSDBA/SYSDBA@192.168.100.165:9999 FIELD_SEPERATOR=\'|\' ROW_SEPERATOR=X \'0A\' DATA= \'/opt/data/D1.TXT\' TABLE="sysdba".\"tyjm\" mode=\'in\' SINGLE_FILE=true |
更多关于达梦数据库详细内容请关注达梦在线服务平台官网:
达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台