likes
comments
collection
share

【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点

作者站长头像
站长
· 阅读数 45

前言

  最近,在迁移适配国产化数据库;碰到一些适配的问题,因此记录一下下来。  达梦官方技术文档eco.dameng.com/document/dm…

达梦数据库产品下载 产品下载 | 达梦数据库 (dameng.com) 【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点

知识点

1. MySQL、SqlServer、达梦数据库的一些区别

  MySQL和SqlServer是单实例多数据库,一个用户可以访问多个数据库(即在指定数据库写sql,不用带上数据库名。)  达梦是单数据库多实例,就是没有多个数据库的概念,只有多模式,且可通过多用户的情况去操作对应模式。

2. sql语句中的一些踩点与区别(拼接符、关键字rowNum等)

(别问达梦执行的sql语句,为什么拼接符是“||”,问达梦~ 都它X@!$$#@!)

需求说明MySQLSqlServer达梦
拼接符++||
rowNum是否为关键字
分组group_concat()-wm_concat()
时间日期date_add()-add_days()
日期转换DATE()-TO_DATE()
DATE_SUB()函数使用 INTERVAL 时INTERVAL 1 DAY (数字不用加单引号)-INTERVAL '1' DAY (数字要加单引号)

要点

1. 使用达梦8创建数据库时,注意字符集,是否选择对应的UTF-8。(基本都要选择UTF-8,不然后面数据迁移会出现中文乱码)

linux指令操作:./dminit path=/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMDB INSTANCE_NAME=LUCIFER(CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR];1 代表 UTF-8;2 代表韩文字符集 EUC-KR;取值 0、1 或 2 之一。默认值为 0。)可视化界面:【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点

2. 多个数据库,达梦8如何进行连接对应模式(单数据库,在达梦里对应的是模式)

  前因:由于达梦数据库是单库多实例,实现原始多数据库的情况只能多个模式。那么多模式,如何在查询的时候不带上模式名呢?  以下有两种方法: 方法一:创建多个管理用户,实现管理对应模式进行查询时,不用带上模式名。 方法二:在JDBC方言中,添加schema参数,指定模式名。md8.jdbc.url=jdbc:dm://127.0.0.1:5236?schema=MyDM8Project

3. 忽略字符串比较大小写敏感

迁移过程

1. 创建达梦数据库实例

【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点


【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点
【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点

2.JDBC 和 Hibernate 相关的配置

DM8
jdbc.dm8.driverClassName=dm.jdbc.driver.DmDriver
jdbc.dm8.url=jdbc:dm://127.0.0.1:5236?schema=MyDM8Project&useUnicode=true&charset=UTF-8
jdbc.dm8.username=user
jdbc.dm8.password=pwd
hibernate.dialect=org.hibernate.dialect.DmDialect

3.需要的 jar 包

达梦官方文档-解决问题) 需要用到的jar包都在 ../dmdbms/drivers/ 路径下: 【数据库迁移】【SqlServer】 【MySQL】迁移【达梦8】数据库的迁移过程和注意要点

文章小尾巴

转载自:https://juejin.cn/post/7146195995875885092
评论
请登录