【问题标题】:Issue connection to MySql database through JDBC [duplicate]通过 JDBC 发出与 MySql 数据库的连接 [重复]
【发布时间】:2019-11-28 21:32:45
【问题描述】:

我在控制台中不断收到关于时区的相同错误,但我从未尝试在我的代码中设置时区。

public class DriverManagerTester
{

  public static void main(String[] argv) {

    Connection connection = null;

    try {

        connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/data","root", "Iamtyler8");

    } catch (SQLException e) {
        System.out.println("Connection Failed! Check output console");
        e.printStackTrace();
        return;
    }

    if (connection != null) {
        System.out.println("You made it, take control your database now!");
    } else {
        System.out.println("Failed to make connection!");
    }
  }
}

控制台中的错误消息:

连接失败!检查输出 consolejava.sql.SQLException: 服务器时区值 'PDT' 无法识别或代表多个时区。如果您想利用时区支持,您必须配置服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)以使用更具体的时区值。

【问题讨论】:

  • 我从不尝试在我的代码中设置时区。 这正是问题所在。错误消息告诉您需要修复 MySQL 服务器配置,或配置 JDBC 驱动程序(通过 serverTimezone 配置属性)。仔细阅读错误信息。
  • 你是怎么做到的?我一直在网上搜索这个问题的解决方案,但到目前为止我一无所获。
  • 看看这个帖子,有一些很好的解决方案stackoverflow.com/questions/26515700/…
  • 我现在明白了。问题已解决
  • 当我在 google 上搜索“MySQL 文档 JDBC serverTimezone”时,第一个链接指向解释如何设置服务器时区的文档(第一个解决方案,供参考),第二个链接指向解释的页面如何传递属性,包括 serverTiezone(第二种解决方案)。

标签: java mysql database eclipse jdbc


【解决方案1】:

你可以简单地运行这个:

SET GLOBAL time_zone = '-7:00';

使用您喜欢的时区

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 2018-12-15
    • 2018-07-25
    • 2019-05-11
    • 2015-04-01
    • 2016-01-01
    相关资源
    最近更新 更多