Mysql数据库迁移到达梦DM

因需求,原本使用的是mysql数据库,现要改为达梦数据库,顾记录迁移过程。

目录

一、下载DM连接工具https://www.dameng.com

二、迁移数据

三、迁移遇到的问题


一、下载DM连接工具https://www.dameng.com

下载安装好,会有如下图工具

拿到连接DM数据库地址,使用DM管理工具连接上达梦数据库

 二、迁移数据

1.打开DM数据迁移工具,新建一个工程

 2.新建迁移

 

 

 

 勾选完要迁移的表,点下一步,预览你要迁移的表,没问题点完成,等待迁移结束可以了。

以上就是从mysql迁移数据到DM。

三、迁移遇到的问题

问题截图

 问题原因

该问题是由于字符串截断造成的乱码或数据不完整。MySQL 中 VARCHAR 类型长度计算规则:
5.0.3 版本以下,varchar 按照字节存储,存一个汉字需要三个字节,varchar(10)可存储 3 个汉字。
5.0.3 版本及以上,varchar 按照字符存储,varchar(10)可存储 10 个汉字。
DM 默认为以字节为单位,varchar(10) 可存储 3 个中文字符,这样 MYSQL5.0.3 版本及以上版本迁移到 DM 中,可能会发生字符截断的问题。若设置参数 LENGTH_IN_CHAR=Y 后变为按照字符长度计算长度。

解决方案

问题原因没看明白,不要紧,那是官方的话,我的理解是:在迁移数据时,表创建后,执行insert语句时,插入的内容,超出定义的范围。

使用DM管理工具新建一个查询,如下图

 查一下报“字符串截断”错误的表,只看字段是VARCHAR类型的,如下图

 把VARCHAR范围改为,原来的三倍,比如原先ID是VARCHAR(10),改为VARCHAR(30)

alter table 表名 modify 字段名 VARCHAR(800);

 改完表字段后,在迁移一遍,迁移的时候,只勾选这张表。

### 迁移PostgreSQL至达梦数据库的方法 #### 数据库迁移概述 将PostgreSQL数据库迁移到达数据库是一项复杂的工作,涉及到多个方面,包括但不限于前期准备、选择合适的迁移工具、处理数据兼容性问题以及最终的测试和验证。为了确保迁移的成功率,在整个过程中需要考虑多种因素。 #### 前期准备工作 在开始实际的数据迁移之前,了解两个系统的差异是非常重要的。这不仅限于SQL语句的不同之处,还包括存储过程、触发器以及其他特定功能上的区别。对于从PostgreSQL向达梦数据库迁移来说,应当先评估现有的应用程序依赖程度,并制定详细的迁移计划[^1]。 #### 工具的选择 针对不同的需求可以选择相应的迁移工具。虽然pgloader主要用于跨平台之间的迁移MySQL到openGauss,但对于某些场景下也可以作为参考;然而,当面对PostgreSQL与达梦间的转换时,则可能更适合采用专门为此设计的应用程序或服务。此外,还可以利用一些通用型ETL(Extract, Transform, Load)工具来进行定制化的开发以满足特殊的需求[^2]。 #### 处理兼容性和数据转换 由于两者间存在一定的技术架构差异,因此不可避免地会遇到兼容性挑战: - **模式转换**:这是指将原有的PostgreSQL表定义及其他对象结构调整成适合新环境的形式。可以通过编写脚本来自动化这一过程的一部分工作量。 - **函数映射**:如果应用中有大量自定义函数或者使用到了PL/pgSQL特性的话,则需仔细分析这些代码片段能否直接移植或是要重写为DM PL/SQL风格。 - **类型匹配**:注意检查每种数据类型的对应关系,因为即使名称相同也可能有不同的内部表示形式,从而影响查询性能甚至导致错误的结果集返回。 - **字符编码一致性**:确认源端使用的字符集能够在目标环境中得到良好支持,防止乱码现象的发生[^3]。 ```sql -- 示例:创建一个简单的表结构转换脚本 CREATE TABLE dm_example ( id INT PRIMARY KEY, name VARCHAR(50), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 注意时间戳默认值表达方式的变化 ); ``` #### 测试与验证阶段 完成初步的数据转移之后,必须进行全面的功能性测试来保证业务逻辑正常运作。同时也要执行压力测试检验系统稳定性,最后通过对比前后两端的关键指标(比如响应速度、吞吐量等),进一步优化配置参数直至达到预期效果为止。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有腰的嘟嘟嘟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值