注册
达梦的快速数据装载工具的使用
专栏/培训园地/ 文章详情 /

达梦的快速数据装载工具的使用

果儿 2024/09/03 611 0 0
摘要

一 文本文件导入
创建测试目录 mkdir /dm/fldr

1 ) 创建文本文件
vi dfl.txt
ID , NAME
1 , NAME1
2 , NAME2
3 , NAME3
此处注意点:列之间一定要有逗号间隔

2 )创建表
CREATE TABLE TEST.FLDR(id int,name VARCHAR(20));
此处注意点:需要注意数据类型与长度

3 ) 创建控件文件
vi dfl.ctl
options(
skip=1
)
LOAD DATA
INFILE '/dm/fldr/dfl.txt'
INTO TABLE TEST.FLDR
FIELDS ','
此处注意点:skip=1 跳过表头第一行,或者多行,由skip = n 决定;如果没有表头可以不加options参数

4 )导入文本数据
/dm/dmdbms/bin
bin]$ ./dmfldr SYSDBA/SYSDBA control='/dm/fldr/dfl.ctl' badfile='/dm/fldr/dfl.bad'
此处注意点 dmfldr 命令后面必须要有USER ID和CONTROL 两个参数;文件路径前后必须要加上转义符号'';其它参数可选。

其它可选参数及说明如下:
L0G 日志文件,字符串类型
BADFILE 错误数据记录文件,字符串类型
SKIP 初始忽略逻辑行数(0)
LOAD 需要装载的行数(ALL)
ROWS 提交频次(50000),DIRECT为FALSE有效
DIRECT 是否使用快速方式装载(TRUE)

二 大字段BLOB,CLOB 文本数据的导出和导入

1)创建大字段表
CREATE TABLE TEST.FLDROUT(id int,c1 BLOB,c2 CLOB);
INSERT INTO TEST.FLDROUT VALUES(1,0XABCD2E24456D,'KFJADKLFALKDFJDAKFLKADFSLFSAD');
INSERT INTO TEST.FLDROUT VALUES(2,0XABCD2FDDF445,'KFJADKLFALKDFJDAKFLKADFSLFSAD');
INSERT INTO TEST.FLDROUT VALUES(3,0XABCD2E3454245,'KFJADKLFALKDFJDAKFLKADFSLFSAD');
INSERT INTO TEST.FLDROUT VALUES(4,0XABCD2222E2445,'KFJADKLFALKDFJDAKFLKADFSLFSAD');
SELECT * FROM TEST.FLDROUT;

  1. 创建控制文件
    vi dfldr.ctl
    LOAD DATA
    INFILE '/dm/fldr/dfldr.txt'
    INTO TABLE TEST.FLDROUT
    FIELDS '|'
    (
    ID,
    C1,
    C2
    )
    此处注意点:分割符

3)导出大字段表
/dm/dmdbms/bin
bin]$ ./dmfldr SYSDBA/SYSDBA control='/dm/fldr/dfldr.ctl' lob_directory='/dm/fldr' mode='out'
此处注意点:dmfldr 命令后面必须要有USER ID、CONTROL 和lob_directory三个参数;文件路径前后必须要加上转义符号''。

4)大字段再导入
CREATE TABLE TEST.FLDRIN(id int,c1 BLOB,c2 CLOB);
vi dfldr.ctl
LOAD DATA
INFILE '/dm/fldr/dfldr.txt'
INTO TABLE TEST.FLDRIN
FIELDS '|'
(
ID,
C1,
C2
)

此处注意点:创建一个同结构的大字段表
执行导入命令:
bin]$ ./dmfldr SYSDBA/SYSDBA control='/dm/fldr/dfldr.ctl' lob_directory='/dm/fldr' mode='in'

此处注意点:dmfldr 命令后面必须要有USER ID、CONTROL 和lob_directory三个参数;文件路径前后必须要加上转义符号''
MODE参数改为IN。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服