本文介绍了数据库时区问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试与 MySQL 数据库建立连接时出现此错误
I'm getting this error while trying to establish connection with database MySQL
java.sql.SQLException:服务器时区值CEST"无法识别或代表多个时区.如果您想利用时区支持,您必须将服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)配置为使用更具体的时区值.
与MySQL的连接是这样完成的:
connection with MySQL is done this way:
private String CONN_STRING = "jdbc:mysql://localhost:3306/vmenginedatabaseT04P/"; // "jdbc:mysql://localhost:3306/vm_database_1";
private boolean connected ;
private Connection connection;
public boolean isConnected() {
return connected;
}
public Connection Connect() {
Connection conn = null;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection(CONN_STRING,USERNAME,PASSWORD);
System.out.println("Connected");
connected = true;
return conn;
} catch (SQLException e) {
System.err.println(e);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return null;
}
推荐答案
显然,MySQL JDBC 驱动程序要使用 CEST 时区,必须在连接字符串中明确指定服务器时区.
Apparently, MySQL JDBC driver to work with CEST time zone, one has to specify the server timezone explicitly in the connection string.
jdbc:mysql://localhost/vmenginedatabaseT04P?serverTimezone=UTC
这篇关于数据库时区问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!