Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro de The server time zone value 'Hora oficial do Brasil'

Após configurar a conexão com o banco no servidor WildFly, ao tentar subir o servidor é apresentado o seguinte erro:

Caused by: java.sql.SQLException: The server time zone value 'Hora oficial do Brasil' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
    at com.mysql@8.0.15//com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
    at com.mysql@8.0.15//com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    at org.jboss.ironjacamar.jdbcadapters@1.4.17.Final//org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalManagedConnectionFactory.java:321)
    ... 38 more

Tentei complementar o connection-url no standalonefull.xml com "useTimezone=true&serverTimezone=UTC" e no persistence.xml, porém é apresentado o seguinte erro:

Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '=' (code 61); expected a semi-colon after the reference for entity 'serverTimezone'
2 respostas

Rennan, faça a seguinte alteração no comando:

Esse comando:

data-source add --name=AgendamentoDS --jndi-name=java:jboss/datasources/AgendamentoDS --driver-name=mysql --connection-url=jdbc:mysql://localhost:3306/agendamentobd --user-name=root --password=abc123 --min-pool-size=10 –max-pool-size=20

Passa a ser assim:

data-source add --name=AgendamentoDS --jndi-name=java:jboss/datasources/AgendamentoDS --driver-name=mysql --connection-url=jdbc:mysql://localhost:3306/agendamentobd?useTimezone=true&serverTimezone=UTC --user-name=root --password=abc123 --min-pool-size=10 –max-pool-size=20

apenas adicionei "?useTimezone=true&serverTimezone=UTC" após "--connection-url=jdbc:mysql://localhost:3306/agendamentobd" e funcionou

solução!

Rennan, Você pode alterar o time zone default do seu MySQL no Windows:

  • Pare o servidor do MySQL
  • Vá até C:\ProgramData\MySQL\MySQL Server 8.0.x\ (A pasta ProgramData pode estar oculta no seu sistema)
  • Abra o arquivo "my.ini"
  • Insira a linha: "default-time-zone = +3:00" logo abaixo de "[mysqld] "
  • Feche o arquivo e reinie o servidor MySQL Voce acha mais informações aqui Isso deve resolver o problema!