【发布时间】:2018-08-01 16:15:29
【问题描述】:
由于某种原因,我在尝试启动我的 java 应用程序时遇到此错误。
java.sql.SQLException: 服务器时区值 'AEDT' 是 无法识别或代表多个时区。你必须配置 服务器或 JDBC 驱动程序(通过 serverTimezone 配置 属性)来使用更具体的时区值,如果你想利用 时区支持。
我希望能够更改连接字符串上的时区。到目前为止,我试过这个:
javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/returnit?useLegacyDatetimeCode=false&serverTimezone=UTC"
还有这个:
javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/returnit?useLegacyDatetimeCode=false&serverTimezone=Australia/Sydney"
但是由于某种原因mysql没有选择时区并且仍然抱怨AEDT?
Mysql 连接器版本为 6.0.6 我在 MacOS 中运行的系统 mysql版本是
问题:关于如何通过连接字符串设置 serverTimezone 的任何想法?
非常感谢
【问题讨论】:
-
这里有一个类似的问题:stackoverflow.com/questions/930900/…
-
@sudip 是的,我想通过连接字符串设置时区。来自您的链接的潜在解决方案,但没有奏效
-
您想在 mysql 服务器中设置 serverTimezone 属性,而不是将时区作为连接字符串的一部分传递,对吗?解决方案stackoverflow.com/a/19069310/452213 不适合您吗?
-
@sudip 我想告诉mysql连接字符串中的时区。我不喜欢在数据库配置中这样做
-
AEDT不是时区 ID。我猜你想通过Australia/Sydney代替。见this list。