解决报错:Cause: java.sql.SQLSyntaxErrorException: Table 'myactiviti.act_ge_property' doesn't exist

错误如下:

在这里插入图片描述

解决办法:
1.yml 配置时

配置mysql连接时加上:nullCatalogMeansCurrent=true

 url: jdbc:mysql://localhost:3306/myActiviti?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true&useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
2.xml配置时

在这里插入图片描述

问题出现的原因:

出现这种问题的原因是mysql版本问题,mysql8.xxx以上驱动会出现这个问题,下图是我原mysql配置,是8.0.16的。
在这里插入图片描述

总结:

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

发布了74 篇原创文章 · 获赞 19 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43770545/article/details/101197861
今日推荐