1
resposta

Erro na 2a classe

Fiz a classe "TestaConexao" que funciona, tanto utilizando:

Connection con = // DriverManager.getConnection("jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC", "root", "root");

Quanto utilizando a classe ConnectionFactory utilizando: ConnectionFactory criaConexao = new ConnectionFactory(); Connection connection = criaConexao.recuperarconexao();

Contudo, se eu crio uma classe nova, inclusive fazendo control C + control V da classe TestaConexao (mudando somente o nome da classe), a conexão é recusada apresentando o seguinte erro: 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.(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(DriverManager.java:683) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:253) at com.mysql.cj.jdbc.admin.TimezoneDump.main(TimezoneDump.java:70)

Qualquer outra classe criada gera o mesmo erro.
1 resposta

Olá, Aarão!

O erro que você está recebendo geralmente ocorre quando o usuário e a senha fornecidos para a conexão com o banco de dados estão incorretos. No seu caso, parece que o nome do usuário está vazio e nenhuma senha está sendo fornecida, como indicado por ''@'localhost' (using password: NO).

Se você está copiando e colando o código da classe TestaConexao para uma nova classe e está mudando apenas o nome da classe, então o problema pode estar em algum lugar fora desse código.

Compartilhe com a gente a classe ConnectionFactory para vermos se ela está corretamente configurada, por favor. Se você estiver usando um arquivo de propriedades ou algum outro método para fornecer esses valores, manda eles também :)