activiti 初始化表 问题:Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'activiti_dev.act_ge_property' doesn't exist

在学习activiti流程引擎时,将activiti与springboot整合,可以自动部署流程流程,但是我的一直报错说:Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table 'actspring.act_ge_property',这时候重启大法也不好用,我又重新看了一遍教程,没有什么区别,后来百度该错误,找到一条帖子说是因为MySQL版本的问题,MySQL版本8.xxx以后当上会出现该问题,我一看我的pom.xml文件中没有写版本号,看到引入的包默认为8.xxx版本,改成了5.1.6版本,该错误解决了

 

原因
因为mysql使用schema标识库名而不是catalog,因此mysql会扫描所有的库来找表,如果其他库中有相同名称的表,activiti就以为找到了,本质上这个表在当前数据库中并不存在。
设置nullCatalogMeansCurrent=true,表示mysql默认当前数据库操作,在mysql-connector-java 5.xxx该参数默认为true,在6.xxx以上默认为false,因此需要设置nullCatalogMeansCurrent=true。

 

解决办法
配置mysql连接时加上:nullCatalogMeansCurrent=true
即:

properties:
useUnicode=true&characterEncoding=utf8 &nullCatalogMeansCurrent=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
xml: ?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC

  


原文链接:https://blog.csdn.net/buling_bulink/article/details/116145017

posted @ 2021-10-14 09:10  译林  阅读(1154)  评论(0编辑  收藏  举报