暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

达梦8-你所不知道的DTS

原创 Frank_ 2021-09-16
2171

目录

前言

在我们使用dts数据迁移工具的时候,很多时候我们都忽略了其中的一些功能,除了最重要的迁移内容,其他的内容,我们很少去了解,今天我们就来介绍一下我们忽略的一些常用的功能,以及这些功能的用法。

调度

右击调度,选择新建调度,可以看到调度就是一个定时器,可以设置调度发生的频率,每日频率,持续的时间,通过定义这个调度,方便我们进行自动执行一些任务。
image.png

作业

右击作业,选择新建作业,可以看到,我们可以选择迁移的任务,
image.png
选择好要进行作业的调度时间,
image.png
点击启动就可以在下方看到下次作业的时间
image.png

这样我们就可以对我们的数据进行定时迁移了。这对于

数据类型的映射

打开数据迁移工具:
选择要进行设置映射关系的对应数据库信息
示例dm-dm:
image.png

把char和varchar的精度都扩大2倍

image.png
迁移时记得不要勾选默认:
image.png
如果勾选了,在转换里面看到,精度为默认的一倍,也就是没有变化
image.png

image.png

去掉勾选后,再次查看,因为这个表只有int 以及 varchar 类型的数据,所以只有varchar类型发生改变:
image.png

迁移后的结果对比:
源表的字段精度:
image.png

目的表的字段的精度:
image.png

可以看见,迁移后自定义类型的数据精度改变了,而没有定义的都保持原状。

这种方法我们可以用来解决在迁移过程出现大量的 列[xxxx]长度超出定义 的报错情况
出现这种情况的原因就是因为:
源库和目标库的字符类型的列所使用的宽度单位不一致。例如源端 UTF8 + VARCHAR(20) 代表可以容纳 20 个 UTF8 编码的字符,但是目标端对应的是 GBK + VARCHAR(20) 代表可容纳 20 个字节,也就是说最多存储 10 个中文字符。所以,当源端传递到目标的汉字字符个数乘以目标端每个汉字占用的字节数,大于目标端定义的字节数上限时,就会报错。

补充:
数据块中最多可以插入多少个字节的 ACSII 码字符

数据块大小 最大存储字符数(ASCII码) GBK 最大汉字
8K 3879 1939
16K 7979 3990
32K 8188 4094
最后修改时间:2021-09-16 16:44:11
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论