问题描述:
最近在用flowable6.4.2适配国产达梦数据库启动项目建表失败的问题。
最近公司项目要适配国产达梦数据库,因为以前适配过一次,这次信息满满觉得没啥问题,所以启动项目,发现报错了,提示无法找到ACT_GE_PROPERTY的表,上一次适配就成功了,这次为啥失败了呢?
原因分析:
查阅了好多文档,原来达梦数据库相当于Oracle数据有模式的概念,有多个模式,flowable遍历当前链接下的所有数据库进行查询(因为使用的此用户有多个库)如果其他数据库,有flowable相关表的话,则判定为不缺少表。因而不会进行表更新操作。但是在实例化对象的时候,又无法查到相关数据,所以会在启动时报错
解决方案:
解决1、先在yml文件中 spring.datasource.url中加入&nullCatalogMeansCurrent=true,原因是,在配置数据库连接时,需要在尾巴加上&nullCatalogMeansCurrent=true,默认是false。(这样做的主要目的,是能保证flowable自动建表,可以建在正确的数据库中。启动继续建表,失败。。。为啥还会失败呢,继续查找资料
原来
1、达梦数