Erro no timezone

3 respostas
java
R

Sou iniciante em Java e estou testando a conexão da minha aplicação com o BD, mas está dando um erro.

Segue meu código:
package br.com.drograria.factory;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;
public class ConexaoFactory {

private static final String USUARIO = root;

private static final String SENHA = 1a2b3c4d;

private static final String URL = jdbc:mysql://localhost:3306/drogaria?useSSL=false”;
public static Connection conectar() throws SQLException {
	Connection conexao = DriverManager.getConnection(URL, USUARIO, SENHA);
	return conexao;	
}

public static void main(String[] args) {
	try {
		Connection conexao = ConexaoFactory.conectar();
		System.out.println("Conexão realizada com sucesso!!!");
	} catch (SQLException e) {
		System.out.println("Não foi possível realizar a conexão!!!");	
		e.printStackTrace();					
	}
}

}

Segue o console e o erro:

Não foi possível realizar a conexão!!!

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.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)

at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)

at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:832)

at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456)

at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)

at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at br.com.drograria.factory.ConexaoFactory.conectar(ConexaoFactory.java:13)

at br.com.drograria.factory.ConexaoFactory.main(ConexaoFactory.java:19)

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: 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 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)

at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)

at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)

at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2236)

at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2260)

at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1314)

at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:963)

at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:822) 7 more

3 Respostas

L

se esse link te ajuda.

R

Opa! Ajudou e muito. Problema resolvido! Bastou incluir
"?useTimezone=true&serverTimezone=UTC", no meu código.

Muito obrigado!!!

P

Para o erro que dá mensagem "The server time zone value “Horário Brasileirode verão” is unrecognized, deu certo colocando “useTimezone=true&serverTimezone=UTC” como instruiu o colega Jederson_Anderson. Muito obrigado pela orientação.

Criado 22 de agosto de 2018
Ultima resposta 11 de dez. de 2018
Respostas 3
Participantes 3