达梦7数据加载个人整理实例(原创)

达梦7数据加载个人整理实例(原创)
dmfldr(DM Fast Loader)是DM7提供的快速数据装载命令行工具。用户通过使用dmfldr工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到DM数据库中,或把DM数据库中的数据按照一定格式写入文本文件。我将在下面分享几个简单实例。

普通文本(加载):

--创建空表
create table test (id int,name varchar(20));
--创建控制文件
vi /opt/test.ctl
LOAD DATA                     #加载数据
INFILE '/opt/test.txt'   #外部文件的路径
INTO TABLE test               #加载的表信息(默认是append,insert,repalace)
FIELDS '|'                    #分隔符号
--创建普通文本
vi test.txt
1,aa
2,bb
3,cc
4,dd
--加载数据   (在linux注意转义)
cd /dm7/bin
./dmfldr sysdba/SYSDBA control=\'/opt/test.ctl\'

如果文本文件第一行是列名:
cd /dm7/bin
./dmfldr sysdba/SYSDBA control=\'\/opt\/test.ctl\' skip=1
#如果给了表的列名和数据,规划列的数据类型时选varchar类型,不指定长度。

大字段文本(导出):

--创建大字段表
drop table test;
create table test(c1 int,c2 blob,c3 clob);
--插入数据
insert into test values(1,0xab121032de,'abcdefg');
insert into test values(2,0xab121032de,'abcdefg');
commit;
--创建控制文件test.ctl,存放路径为/opt/test.ctl,内容如下:
load data
infile '/opt/test.txt'
into table test
fields '|'
--使用dmfldr进行导出数据
cd /dm7/bin
./dmfldr SYSDBA/SYSDBA control=\'/opt/test.ctl\'  LOB_DIRECTORY=\'/opt\'  mode=\'out\'
在这个例子中,指定了LOB_DIRECTORY,而没有指定LOB_FILE_NAME,导出的大字段数据文件将存放在LOB_DIRECTORY指定的/opt/data目录,文件名为dmfldr.lob。

大字段文本(载入,direct为true时):

--创建大字段表
drop table test;
create table test(c1 int,c2 blob,c3 clob);
--创建控制文件test.ctl,存放路径为/opt/test.ctl,内容如下:
load data
infile '/opt/test.txt'
into table test
fields '|'
--创建数据文件test.txt,存放路径为/opt/test.txt,内容如下:
1|dmfldr.lob:0:5|dmfldr.lob:5:7
2|dmfldr.lob:12:5|dmfldr.lob:17:7
--其中,dmfldr.lob为文本文件,长度大于30字节,存放路径为/opt/
--使用dmfldr进行载入数据
cd /dm7/bin
./dmfldr SYSDBA/SYSDBA control=\'/opt/test.ctl\'  LOB_DIRECTORY=\'/opt\'

大字段文本(载入,direct为false时):

--创建大字段表
drop table test;
create table test(c1 int,c2 blob,c3 clob);
--创建控制文件test.ctl,存放路径为/opt/test.ctl,内容如下:
load data
infile '/opt/test.txt'
into table test
fields ','
--创建数据文件test.txt,存放路径为/opt/test.txt,内容如下:
1|0x12d3c8a7|abcdefg
2|0x12a4cbac|hijlkmn
3|0x22d3c8b3|adefhjd
--使用dmfldr进行载入数据
cd /dm7/bin
./dmfldr SYSDBA/SYSDBA control=\'/opt/test.ctl\'  direct=false       --注意分隔符保持一致

了解更多请参考dm7_dmfldr使用手册。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值