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=备份路径

 

随笔记录一下,希望有帮助

posted @ 2020-11-11 10:38  沙师弟demo  阅读(1258)  评论(0编辑  收藏  举报