mysql转达梦问题
安装初始化达梦数据库(默认安装即可)
安装达梦数据库(windows、linux)
初始化数据库实例关键信息
工具:DM数据库配置助手
步骤如下:
初始化数据库实例后,切换到DM管理工具进行连接
执行数据库兼容性sql
查看COMPATIBLE_MODE参数:
select para_name,para_value,para_type from v$dm_ini where para_name=‘COMPATIBLE_MODE’;
经过查询参数意义如下:
0:不兼容,1:兼容SQL92标准,2:兼容ORACLE,3:兼容MS SQL SERVER,4:兼容MYSQL
我们需要兼容mysql,所以执行
sp_set_para_value(2,‘COMPATIBLE_MODE’,4);
执行完成记得提交事务!!这个是区别于mysql得必备步骤。
字符串比较大小写敏感取消原因说明
如果不取消,那么每个查询都得加上数据库名(模式名).表名进行查询,并且表名还得加上双引号,where筛选条件后得列名和值也都得加上双引号,语法很是严格
取消了大小写敏感后,那么我们springboot中得某些jar包内得sql语法兼容性就更强了,至少可以保证顺利启动
写法更类似mysql,如: 可以直接写成select * from sys_user进行查询操作
数据库迁移兼容问题
我们这里主要是mysql迁移达梦实现
主要是以下几点注意:
1.mysql中json格式转达梦数据类型。
这个json类型在mysql中是存在得,但是在达梦中是不存在得,直接转是不能转成功得。
将mysql中得json数据类型转成longText类型,然后再重新进行迁移,就可以完美迁移成功了,如果最好在在列进行约束下,设置列约束IS JSON,这样在进行存储得时候就可以按需存储。
2. mysql中和达梦varchar类型字符和字节数不一致,mysql中varchar(20),在达梦中差不多需要varchar(40)才能够存储。
按前面得图片中配置varchar类型以字符存储勾上后就可以完美解决问题
3. goupby 和 orderby不能作用于text、blob、clob等大字段中。
在DM8上对大字段类型列进行排序、分组等操作时,会报错-2685:试图在blob或者clob列上排序或比较
处理方式:修改数据库参数ENABLE_BLOB_CMP_FLAG
– 第三个参数是0或者1 0是不能操作大字段;类型 1是可以操作大数据类型
sp_set_para_value(1,'ENABLE_BLOB_CMP_FLAG',1);
– 查询是否更改成功
Select para_name,para_value,para_type from v$dm_ini where para_name='ENABLE_BLOB_CMP_FLAG';
执行完成后提交事务。
springboot整合act