Problemas com o jdbc

20 respostas
A
Pessoal,estou com um problema do driver jdbc,estou usando a versão do mysql 5.7.28,baxei o drive no site, mas continuo com problemas na minha conexão com o banco.

dá esse erro:

java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/sistema

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

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

at br.com.farmacia.factory.ConexaoFactory.main(ConexaoFactory.java:20)

baixei o jar mysql-connector-java_8.0.18-1,mas continua o mesmo problema.

20 Respostas

I

Está usando qual IDE? Importou o jar do driver para a lib da biblioteca da IDE? Como montou a conexão?

A

eclipse, importei o jar.

A

o código da classe:
package br.com.farmacia.factory;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;
public class ConexaoFactory {

private static String USUARIO = root;

private static String SENHA = “”;

private static String URL = jdbc:mysql//localhost:3306/sistema”;
public static Connection conectar() throws SQLException{
	Connection conexao = DriverManager.getConnection(URL,SENHA,USUARIO);
	return conexao;
	
}
public static void main(String[] args) {

try {

Connection conexao = ConexaoFactory.conectar();

System.out.println(Conectado com sucesso!);

} catch (SQLException ex) {
ex.printStackTrace();
}

}

}

I

Onde está o driver? Era esperado algo como:

private static string DRIVER = "com.mysql.jdbc.Driver";

Daí com base no nome do driver, localizaria e o vincularia ao projeto.

Exemplo:

public class ConectaBancoDeDados {
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static final String URL = "jdbc:mysql://localhost/"
            + "X";
    private static final String USUARIO = "x";
    private static final String SENHA = "x";
   
    public static Connection getConexao() throws SQLException{
        try{
            Class.forName(DRIVER);
                return DriverManager.getConnection(URL, USUARIO, SENHA);
        }catch(ClassNotFoundException cnfe){
            throw new SQLDataException(cnfe.getMessage());
        }
    }
    
    public static void main(String[] args){
        try{
            getConexao();
            System.out.println("Banco de dados conectado com sucesso!");
        }catch(SQLException sqle){
            System.out.println("Impossível se conectar ao banco de dados. "
                    + "ERRO: " + sqle.getMessage());
        }
    }
}
A

deu esse erro agora:
Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/sistema
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at br.com.farmacia.factory.ConexaoFactory.conectar(ConexaoFactory.java:16)
at br.com.farmacia.factory.ConexaoFactory.main(ConexaoFactory.java:28)

A

será que é o meu jar que está errado?

I

Leia o erro: a classe com.mysql.jdbc.Driver é depreciada (obsoleta). A classe do novo driver é com.mysql.cj.jdbc.Driver.
Então use o driver informado.

A

eu adicionei, saiu o erro do deprecate, porém continua o do drive,você tem algum site que eu baixo o drive jdbc do mysql 5.7.28?
provavelmente o que eu adicionei está errado.

I

Qual é sua versão do MySQL?

A

5.7.28

I

Então o conector tem que ser o 5, o 8 não vai funcionar mesmo! escolha aqui: MySQL Connector/J (Archived Versions). Escolha o 5.1.47 que é o último da versão 5. Aqui eu uso o 5.1.23 e DB MySQL versão 5.7.

A
infelizmente, mesmo mudando o jar,deu o mesmo problema:

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

at java.base/java.lang.Class.forName0(Native Method)

at java.base/java.lang.Class.forName(Class.java:315)

at br.com.farmacia.factory.ConexaoFactory.conectar(ConexaoFactory.java:15)

at br.com.farmacia.factory.ConexaoFactory.main(ConexaoFactory.java:28)

java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/sistema

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

at br.com.farmacia.factory.ConexaoFactory.conectar(ConexaoFactory.java:22)

at br.com.farmacia.factory.ConexaoFactory.main(ConexaoFactory.java:28)
I

No conector antigo (5), tu usa o driver antigo (com.mysql.jdbc.Driver)… Lembre-se de apagar qualquer outra driver antes instalado.

A

eu apaguei

A

I

Voltou a usar o driver antigo?

A

o drive que você disse 5.1.47

I

Não esse é o conector… O drive é o com.mysql.jdbc.Driver.

A
mudei mas continua dando erro:

java.sql.SQLException: No suitable driver found for jdbc:mysql//localhost:3306/sistema

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)

at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)

at br.com.farmacia.factory.ConexaoFactory.conectar(ConexaoFactory.java:16)

at br.com.farmacia.factory.ConexaoFactory.main(ConexaoFactory.java:28)
A

vou te passar o endereço do projeto no github .

Criado 24 de novembro de 2019
Ultima resposta 24 de nov. de 2019
Respostas 20
Participantes 2