Erro: No suitable driver found for jdbc.mysql://localhost:3306/cadastro
17 respostas
R
RicardoMendes
Bom dia, boa tarde ou boa noite.
Comecei um projeto pessoal para desenvolver um sistema.
Como sou iniciante, me deparei com uns erros, alguns consegui resolver outros ainda não.
E por isso, venho através deste post pedir uma ajuda do conhecimento de pessoas mais avançadas que possam me ensinar um caminho para alcançar a solução desses problemas.
Você precisa adicionar o driver do MySQL como dependência.
Fefo801 like
Depois que baixar o driver, você vai em Project -> Properties -> Java Build Path -> Libraries -> Add JARs…
RoinujNosde2 likes
Acabei de perceber uma coisa:
Vc usou um ponto pra separar jdbc e mysql na URL?
Teria que ser dois pontos:
"jdbc:mysql://localhost:3306/cadastro"
R
RicardoMendes
Foi, eu li que o não teria um driver que fosse compatível com o caminho para conexão com o banco de dados. Mas pesquisando não consegui encontrar um driver que fosse efetivo, encontrei os connectors, de várias versões do mySQL.
R
RicardoMendes
Certo, onde eu posso baixar o driver específico? No site da Oracle?
R
RicardoMendes
Certo, irei corrigir isso no código fonte e já te retorno! Obrigado.
RoinujNosde1 like
Se for MySQL, eu passei o link acima. Clica nele, escolha Plataform Independent e baixe o zip, dentro vai ter o jar da dependência.
R
RicardoMendes1 like
Obrigado amigo. Consegui solucionar mas apareceu um erro dizendo que desconhece o banco de dados cadastro. Acredito que meu banco de dados foi apagado por algum erro meu, por isso ele é desconhecido. Agradeço, desde já o contato!
RoinujNosde1 like
Se tiver mais dúvidas só criar um novo tópico
R
RicardoMendes
Eu coloquei tudo certinho, porém tinha dado um erro dizendo Unknow Database “cadastro”;
No caso ele me informou que não existe um banco de dados chamado cadastro. Então, criei meu banco de dados no workbench, mas agora dá esse novo erro no código:
Lembrando que essa é a primeira etapa do crud com java que estou desenvolvendo neste sistema solo.
Então, se tu puder me ajudar a pensar junto agradeceria!
Connectionconn=null;PreparedStatementpstm=null;try{// Criar uma conexão com o banco de dadosconn=ConnectionFactory.createConnectionToMySQL();pstm=(PreparedStatement)conn.prepareStatement(sql);// Adicionando os valores que são esperandos pela Querypstm.setString(1,cadastro.getNome());pstm.setString(2,cadastro.getEmpresa());pstm.setString(3,cadastro.getTelefone());pstm.setString(4,cadastro.getModal());pstm.setString(5,cadastro.getRua());pstm.setString(6,cadastro.getNumero());pstm.setString(7,cadastro.getBairro());pstm.setString(8,cadastro.getCidade());pstm.setString(9,cadastro.getUf());pstm.setDate(10,newDate(cadastro.getDataCadastro().getTime()));//Executar a Querypstm.execute();System.out.println("Contato salvo com sucesso!");}catch(Exceptione){e.printStackTrace();}finally{// Fechar as conexõestry{if(pstm!=null){pstm.close();}if(conn!=null){conn.close();}}catch(Exceptione){e.printStackTrace();}}}
}
RoinujNosde
Tá faltando os placeholders (interrogações) aqui. VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Para cada chamada ao um método set de PreparedStatement, precisa ter um placeholder (?) correspondente.