数据库的时区问题

时间:2019-07-16 07:26:57

标签: java mysql

尝试与数据库MySQL建立连接时出现此错误

  

java.sql.SQLException:服务器时区值'CEST'无法识别或代表多个时区。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更特定的时区值。

通过以下方式完成与MySQL的连接:

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;
}

2 个答案:

答案 0 :(得分:0)

显然,MySQL JDBC驱动程序要使用CEST时区,必须在连接字符串中显式指定服务器时区。

jdbc:mysql://localhost/vmenginedatabaseT04P?serverTimezone=UTC

答案 1 :(得分:0)

Bullet bullet = Instantiate(bulletClone, transform.position, transform.rotation); // Default code that was working. 添加到您的serverTimezone=UTC中,就像这样:

CONN_STRING