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 is
com.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)