java.sql.SQLException:无法识别服务器时区值“Hora de verano GMT”[重复]

Posted

技术标签:

【中文标题】java.sql.SQLException:无法识别服务器时区值“Hora de verano GMT”[重复]【英文标题】:java.sql.SQLException: The server time zone value 'Hora de verano GMT' is unrecognized [duplicate] 【发布时间】:2019-02-26 00:29:57 【问题描述】:

我在本地,系统窗口中使用springboot,maven,connector:mysql-connector-java-8.0.11。我有这个错误,

java.sql.SQLException: 服务器时区值 'Hora de verano GMT' 无法识别或代表多个时区。你必须 配置服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)使用更具体的时区值,如果你 想要利用时区支持。

我在 mysql 文件 my.ini 中进行了修改,我放了:timezone='UTC'。我已经改成mysql-connector-java-8.0.12,同样的错误。我试过了,5.1.46,我一直有其他错误。

谢谢

【问题讨论】:

请给我看看你的代码。检查您是否使用准备好的语句并正确设置日期。夏天是哪个国家的? 我没有代码只是带有这些声明的实体 @Temporal(TemporalType.DATE) private Date updated_at; @Temporal(TemporalType.DATE) 私有日期 created_at;和存储库只是插入没有日期 你试过@Temporal(TemporalType.TIMESTAMP) 吗?请检查这个 -> ***.com/questions/25333711/… 否,但在我的 dbb 中,类型是日期,没有时间戳 你可以检查你的 MySQL 配置,因为看起来你有夏天的时间。这可能是原生的,而不是 Java 错误(只是猜测)。 【参考方案1】:

我找到了答案。

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/database?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=user
spring.datasource.password=passwprd
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

谢谢

【讨论】:

只需添加 ?serverTimezone=UTC 对我有用。

以上是关于java.sql.SQLException:无法识别服务器时区值“Hora de verano GMT”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

java.sql.SQLException:无法从底层数据库获取连接! — HSQLDB

java.Sql.SQLException,无法加载类 net.ucanaccess.jdbc.UcanaccessDriver

无法获得 JDBC 连接;嵌套异常是 java.sql.SQLException:无法加载 JDBC 驱动程序类 'org.hsql.jdbcDriver'

java.sql.SQLException:无法锁定表“更改”;用户当前正在使用

Apache Derby - java.sql.SQLException:无法启动数据库

java.sql.SQLException: 无法从套接字读取更多的数据