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

Erro Durante em comunicar com o MySql

Olá Estou com um erro de password "No" no meu terminal do eclipse

A Versão do Mysql que tenho é a 8.0.22 : Criei a base de dados pelo workbench, ao invés do terminal, no local host 3306

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestaConexão {

    public static void main(String[] args) throws SQLException {

        Connection connection = DriverManager.getConnection("jdbc:mysql://localhoss/loja_virtual?useTimezone=UTC", "root" , "root");
        connection.close();
    }

}

E o Eclipse que estou usar é o "Jee Photon"

Esses erros aparecem

Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
    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.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
    at com.mysql.cj.jdbc.admin.TimezoneDump.main(TimezoneDump.java:70)
3 respostas

Olá Bruno, tudo bem com você?

O correto seria "localhost" e não "localhoss" dentro do comando getConnection(jdbc:mysql://localhoss/loja_virtual?...);. Confere também se você consegue acessar o banco através do "MySQL Command Client Client" usando o login e a senha "root" que você definiu depois da URL do banco!

Testa aí e depois me avisa se funcionou!

Abraços!!

Olá Thiago, então eu consegui solucionar o erro, depois eu arrumei porem o erro persistiu, ai eu alterei um comando, ficou assim

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestaConexao {

    public static void main(String[] args) throws SQLException {

        Connection connection = DriverManager
                .getConnection("jdbc:mysql://localhost/loja_virtual1?useTimezone=false&serverTimezone=UTC", "root", "123456");
        System.out.println("Fechando conexão!!");
        connection.close();
    }

}

Eu tive que criar outro banco de dados, então coloquei "loja_virtual1", e na parte do "Timezone=true&server", eu alterei para "false" no meu código e compilou sem aparecer aquele erro.

Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)

Mas gostaria de saber se isso é algo possível de fazer, e o que isso implica no código

solução!

Opa Bruno, tudo tranquilo?

Se está funcionando agora, acredito não haver problemas. Talvez seja só um bug ou algo relacionado à versão do seu MySQL, já que em versões anteriores o parâmetro "Timezone=true&server" não era necessário.

De qualquer forma, é só avisar aqui se algo der errado durante o curso. Abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software