MySQL JDBC 驱动程序 5.1.33:解决时区问题
最近将 MySQL JDBC 驱动程序从版本 5.1.23 升级到 5.1 .33,用户在启动 Java 应用程序时遇到意外错误。这个错误表明无法识别时区值“UTC”,这让许多开发人员感到困惑。
理解问题
这个问题的根本原因在于简介较新的 JDBC 驱动程序中更严格的时区处理。此前,驱动程序会自动将时区调整为系统默认时区,但在 5.1.33 版本中不再支持这种做法。因此,当连接到具有非特定时区(如“UTC”)的数据库时,驱动程序无法识别相应的时区并引发错误。
解决问题
要解决此问题,开发人员必须在 JDBC 连接字符串中显式指定 serverTimezone 属性。此属性覆盖默认时区处理并允许选择特定时区。
实现解决方案
解决 MySQL JDBC 驱动程序的时区问题5.1.33,修改连接字符串如下:
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
此连接字符串显式将 serverTimezone 设置为“UTC”,确保驱动程序正确处理时区调整。通过合并此修改,开发人员可以克服错误并成功建立与其 MySQL 数据库的连接。
以上是为什么 MySQL JDBC 驱动程序 5.1.33 会抛出'UTC”时区错误,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!