通过dmfldr工具导入和导出数据,熟悉dmfldr的快速配置以及行列分隔符的设计和使用
dmfldr可以快速导入文本文件到dm表中,也可以把表中数据快速导出到文本文件中
示例: DMFLDR SYSDBA/SYSDBA CONTROL='c:\fldr.ctl'
USERID 必须是命令行中的第一个参数
CONTROL 必须是命令行中的第二个参数
字符串类型参数必须以引号封闭
控制文件定义导入或导出数据文件的格式,以及对应的表的映射
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
)
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
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))
dmfldr.exe userid=SYSDBA/SYSDBA@localhost:5236 control='D:\dmdbms\dmfldr\dep.ctl'
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
)
dmfldr.exe userid=SYSDBA/SYSDBA@localhost:5236 control='D:\dmdbms\dmfldr\dep_out.ctl' mode='out'
导出文件的内容
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
文章
阅读量
获赞