Bom dia pessoal, estou aprendendo a programar em java e estou desenvolvendo uma aplicação de uma video aula, porém não estou conseguindo estabelecer uma conexão com o postgresql, pois aparece o seguinte erro:
No suitable driver found for jdbc:postgresql//localhost:5432/projetoclinica
Usando o netbeans eu importei a biblioteca indo pela opção Adicionar Biblioteca: Driver JDBC do PostgreSQL - postgresql-9.4.1209.jar
Por este endereço https://jdbc.postgresql.org/download.html baixei varias versões também e adicionei em Adicionar JAR/Pasta, porém em qualquer versão usada o erro persiste.
o meu codigo que realiza a conexão é o seguinte:
public class ConexaoBD {
public Statement atm;
public ResultSet rs;
private String driver = “org.postgresql.Driver”, caminho = “jdbc:postgresql//localhost:5432/projetoclinica”,
usuario = “postgres”, senha = “0000”;
private Connection con;
public void conexao(){
System.setProperty(“jdbc.Drivers”, driver);
try {
con = DriverManager.getConnection(caminho, usuario, senha);
JOptionPane.showMessageDialog(null, "conexao efetuada com sucesso");
} catch (SQLException ex) {
Logger.getLogger(ConexaoBD.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "erro ao se conectar ao banco de dados:\n" + ex.getMessage());
}
La no canto esquerso, vá em Servições, clique com o botão direito em Banco de Dados, nova conexão,
Selecione o driver do postgres(caso n tiver clique em Novo Driver e indique o diretório),
Ao selecionar o driver clique em continuar,
informe ali seus dados e teste a conexão, se ela funcionar ali, copie o jdbc e coloque na sua classe conexao
Muito obrigado, deu certo. Mas agora estou com uma outra duvida pior, como você deve ter uma experiencia grande com o netbeans é provável que possa me responder.
Antes de criar este tópico eu tinha pesquisado bastante e vi em vários lugares que esse erro se resolvia com uso do metodo Class.forName(), porém não tinha dado certo. Como voce me falou para usar ele eu resolvi tentar novamente e copiei e colei o seu código no lugar do meu, e tive que renomear o método que eu chamava no meu programa para iniciar a execução, e aí que eu vi que mesmo com as alterações feitas e salvas o netbeans se comportava como se não tivesse sido feitas alterações.
por exemplo: no meu codigo eu tinha declarado as variaveis
private String driver = “org.postgresql.Driver”, caminho = “jdbc:postgresql//localhost:5432/projetoclinica”,
usuario = “postgres”, senha = “0000”;
private Connection con;
e mesmo depois de apagar essa linha de código e salvar, quando eu instanciava o objeto ainda aparecia eles em ctrl + espaço, e o mesmo com o método que mudou de nome de conexao() para getCon()
e ele não aceitava o novo nome do método e dava erro, aceitando somente o código antigo, mesmo sem ele estar mais lá.
só resolvi o problema quando criei um novo projeto e copiei e colei o conteúdo escrito, porque se copiasse os pacotes o problema continuava. porque isso acontece?
Acredito que tenha acontecido algum erro no seu netbeans, normalmente é atualizado automaticamente. Verifique a versão do Netbeans e do jdk instalado em seu computador. Reinstale o Netbeans se o problema persiste.