使用达梦数据dmfldr工具加载数据

使用达梦数据dmfldr工具加载数据

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

使用步骤:

1. 建立控制文件

CONTROL 是启动 dmfldr 必须要指定的参数,用于指定数据文件中数据的格式。在数据载入时,dmfldr 根据控制文件指定的格式来解析数据文件;导出数据时,dmfldr 也会根据控制文件指定的列分隔符、行分隔符等生成数据文件。控制文件中还可以指定其他 dmfldr 参数值。

OPTIONS

(

SKIP = 0

ROWS = 50000

DIRECT = TRUE

INDEX_OPTION = 2

)

LOAD DATA

INFILE '/dm8/data/test1.txt' STR X '0A'

BADFILE '/dm8/data/test1.bad'

INTO TABLE test1

FIELDS '|'

(

F1,

F2 DATE FORMAT 'YYYY-MM-DD',

F3 NULL,

F4 TERMINATED BY WHITESPACE ENCLOSE BY '(',

F5 CONSTANT "test",

F6 "trim()"

)

LOAD DATA

INFILE '/dm8/data/test2.txt' STR X '0A'

BADFILE '/dm8/data/test2.bad'

INTO TABLE test2

FIELDS '|'

(

C1 TERMINATED BY ' ',

C2,

C3 DATE FORMAT 'yyyy-mm-dd'

)

2. 指定数据文件

当 dmfldr 工作在 IN 模式时,从数据文件中读取数据并载入数据库;当工作在 OUT模式时,从数据库中将指定数据导出到数据文件。

数据文件通常为文本文件,列与列之间由列分隔符隔开,行与行之间由行分隔符隔开。数据文件中的列分隔符和行分隔符由用户指定,并在控制文件中设置为与数据文件中的一致。

在控制文件中指定数据文件可以在控制文件的 LOAD 节点中指定数据文件。

例如:

1) 建表 TEST

DROP TABLE TEST;

CREATE TABLE TEST(C1 INT,C2 INT,C3 DATE);

 

 

使用达梦数据dmfldr工具加载数据

2) 编辑数据文件 test1.txt,存放路径为/dm8/data/test1.txt,文件内容如下

 

 

使用达梦数据dmfldr工具加载数据

 

 

 

 

 

3) 编辑控制文件 test1.ctrl,存放路径为/dm8/data/test1.ctrl,内容如下:

LOAD DATA

INFILE '/dm8/data/test1.txt'

INTO TABLE test

FIELDS '|'

(

C1 TERMINATED BY ' ',

C2,

C3 DATE FORMAT 'yyyy-mm-dd'

)

4) 使用 dmfldr 进行数据载入

./dmfldr userid=SYSDBA/[email protected]:5236 control=\'/dm8/data/test1.ctrl\'

 

 

使用达梦数据dmfldr工具加载数据

5)查询数据加载结果

 

 

使用达梦数据dmfldr工具加载数据

使用 DATA 参数指定数据文件

也可以使用 DATA 参数指定 dmfldr 的数据文件,数据文件路径的优先选择顺序为先控制文件,后参数选项。如果控制文件中数据文件路径指定为‘*’,在命令行通过 DATA参数指定数据文件路径,DATA 所指定的文件路径会替换‘*’。

例如:

1) 建表 TEST1

DROP TABLE TEST1;

CREATE TABLE TEST1(C1 INT,C2 INT,C3 DATE);

使用达梦数据dmfldr工具加载数据

2) 编辑数据文件 test.txt,存放路径为/dm8/data/test.txt。

3) 编辑控制文件 test.ctrl,存放路径为/dm8/data/test.ctrl,内容如下:

LOAD DATA

INFILE *

INTO TABLE test1

FIELDS '|'

(

C1 TERMINATED BY ' ',

C2,

C3 DATE FORMAT 'yyyy-mm-dd'

)

4) 使用 dmfldr 进行数据载入

./dmfldr userid=SYSDBA/[email protected]:5236 control=\'/dm8/data/test.ctrl\' data=\'/dm8/data/test1.txt \'

使用达梦数据dmfldr工具加载数据

5)查询装载数据目的表,数据已经存在。

使用达梦数据dmfldr工具加载数据

 dmfldr工具还支持对 DM 数据库的大字段类型数据的载入和导出,DM 数据库支持的大字段数据类型有 TEXT、LONGVARCHAR、IMAGE、LONGVARBINARY、BLOB 以及 CLOB。还支持自增列装载,数据排序,类类型等高级应用,限于篇幅,就不一一操作了。