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.
Está usando qual IDE? Importou o jar do driver para a lib da biblioteca da IDE? Como montou a conexão?
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();
}
}
}
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());
}
}
}
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)
será que é o meu jar que está errado?
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.
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.
Qual é sua versão do MySQL?
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.
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)
No conector antigo (5), tu usa o driver antigo (com.mysql.jdbc.Driver)… Lembre-se de apagar qualquer outra driver antes instalado.
Voltou a usar o driver antigo?
o drive que você disse 5.1.47
Não esse é o conector… O drive é o com.mysql.jdbc.Driver.
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)