mysql转国产数据库达梦随记
记录一下转换的一些小坑。
window环境
项目是springboot+ activiti6 + vue
第一步转移数据: mysql5.7 ---> 达梦7
这里使用dm的工具进行转换。发现报错如下。
1.在mysql中的timestamp类型如果默认值设定的当前时间。这里转移的时候会报错
我的解决办法是把数据库中的默认值先改为null 然后转移过去后在设置默认值为sysdate。这样的效果也是一样的。
2.如果数据库中有较长的数据比如varchar(255) 这种而且已经存储了比较长的数据。那么这里也会报错。转成longtext不行还是报错说没有这个类型,为了节约时间我直接把长度设置大一些再转,估计是中文所占的空间不一致导致的。
整合activiti6:
因为activiti是不支持国产数据库,所以这里需要更改与大多数网上查询的内容差不多。但是感觉也不详细。
我添加了依赖与修改activiti的别的内容,额外添加了一个setProperties("DM DBMS",DATABASE_TYPE_ORACLE)。具体demo可以看下面的地址。
https://gitee.com/hibernate_com/springboot-activiti6-dm.git
项目试运行:
1.时间返回值不能用localDateTime 来接收了。转成了Date接收就没问题
数据库备份功能:
设置环境变量路径到达梦数据库bin目录下。
导出:
dexp 用户名/密码 【@ip:端口】 SCHEMAS=模式名 FILE=备份文件.dmp DIRECTORY=备份路径
这里不能去掉DIRECTORY,FILE只能是文件名
如果导出报编码不一致的错,那么先执行set export LANG="en_CN.utf-8"
导入:dimp userid=用户名/密码 SCHEMAS=模式名 GRANTS=Y ROWS=y FILE=备份文件.dmp DIRECTORY=备份路径
随笔记录一下,希望有帮助