JDBC报错 消息 Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system v

Posted 遍唱阳春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC报错 消息 Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system v相关的知识,希望对你有一定的参考价值。

今天用JDBCTemplate时,发现启动服务器之后报错: Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system variable \'tx_isolation\'

网上说是因为mysql版本过高的问题,我的MySQL版本是8.0,里面已经没有tx_isolation,变成了transaction_isolation,用了以下几种解决方法:

(1)更改MySQL

 

 无效,仍然报错!

(2)将mysql-connector-java升级为与MySQL匹配的8.0版本及以上

我使用的是:mysql-connector-java-8.0.18.jar

解决了上一个问题,但是又出现了新的问题:

java.sql.SQLException: The server time zone value  \'�й���׼ʱ��\' is unrecognized or represents more than...

 这个错误是因为mysql连接的依赖包是高版本的情况下,在配置datasource.url时不能简单的这样配:

url=jdbc:mysql://localhost:3306/day13

需要加上一些必要的后缀信息(改成下面的配置就可以了):

url=jdbc:mysql://localhost:3306/day13?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true

ok,问题解决!

(3)有一天我按照上面的方法却报出了另外一个错误:

java.sql.SQLException: validateConnection false

检查了半天才发现,driverName少写了一个cj.差点吐血。。。

driverClassName=com.mysql.cj.jdbc.Driver

 

以上是关于JDBC报错 消息 Could not get JDBC Connection; nested exception is java.sql.SQLException: Unknown system v的主要内容,如果未能解决你的问题,请参考以下文章

tomcat启动报错BaseExecutor:getDatabaseId:55 - Could not get a databaseId from dataSource

tomcat启动报错BaseExecutor:getDatabaseId:55 - Could not get a databaseId from dataSource

Could not get JDBC Connection--java

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection

java项目连接jdbc报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not creat

Could not get JDBC Connection要怎么解决?