1
resposta

java.sql.SQLException: No suitable driver found for jdbc

Estou tentando realizar conexão com o banco postgres através do jdbc. Só que quando eu utilizo esse método ocorre o erro : java.sql.SQLException: No suitable driver found for jdbc

public  boolean VerificarExistencia(Livro livro)   
        {



          boolean b=false;
            Connection conexao;

            try {

                conexao = this.getConnection();

                String sql= "SELECT livros.titulo,autor.nome,edicao.numero,edicao.ano FROM livros, autor,edicao,livroautor WHERE livros.codigo = livroautor.codigolivro AND livros.codigo=edicao.codigolivro AND autor.codigo=livroautor.codigoautor AND livros.titulo LIKE '"+livro.getTituloLivro()+"%' AND autor.nome LIKE '"+livro.getAutorLivro()+"%';";


                  Statement stm = conexao.createStatement();

                  stm.execute(sql);

                  ResultSet rst = stm.getResultSet();

                if(rst.next())
                { 

                   b= true;
                }else
                {
                  b=false;
                }

                rst.close();
                stm.close();

                conexao.close();

            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                e.getMessage();
            } 




            return b;



       }

A conexão do banco está certa ( DriverManager.getConnection , os parâmetros estão certos,...) Esse método está sendo chamado na classe Server (ServerSocket).

public class Server{
    public static void main(String args[]) {

        Livro livroNovo= new Livro();;
        String resultado ;
        int port = 9999;
        String tituloLivro,autorLivro,edicaoLivro,tipo;
        int anoPublicacaoLivro;
        ServerSocket ss = null;

        System.out.println("Server");
        try{
            ss = new ServerSocket(port); //criar server Socket
            while(true){
                System.out.println("Aguardando...");
            Socket s1 = ss.accept();  //

            InputStream is = s1.getInputStream();
            OutputStream os1 = s1.getOutputStream();
            DataOutputStream dos1 = new DataOutputStream(os1);
            DataInputStream dis = new DataInputStream(is);


            BancoDeDados bd = new BancoDeDados();






            System.out.println("Esperando o tipo de operação...");
            tipo = dis.readUTF();

            if(tipo.equals("1")){


                tituloLivro=dis.readUTF();
                System.out.println("Titulo do livro:"+tituloLivro);

                autorLivro=dis.readUTF();
                System.out.println("Autor do livro:"+autorLivro);

                edicaoLivro = dis.readUTF();
                System.out.println("Edição livro:"+edicaoLivro);

                anoPublicacaoLivro= Integer.parseInt(dis.readUTF());
                System.out.println("Ano de publicação:"+anoPublicacaoLivro);



                livroNovo.setTituloLivro(tituloLivro);
                livroNovo.setAutorLivro(autorLivro);
                livroNovo.setEdicaoLivro(edicaoLivro);
                livroNovo.setAnoPublicacao(anoPublicacaoLivro);



                 if(bd.VerificarExistencia(livroNovo))
                 {
                    resultado="Existe na base de dados!";
                 }
                 else
                 {
                    resultado="Cadastrado com sucesso!";
                 }










                dos1.writeUTF(resultado);

            }
            else if (tipo.equals("2")) {

            }
            else if (tipo.equals("3")) {

            }
            else if (tipo.equals("4")) {

            }
            else if (tipo.equals("5")) {

            }
            else{
                System.out.print("Error");
            }

            //System.out.println("O resultado é: "+resultado);
           // System.out.println(" ");
            //dos1.writeUTF(Integer.toString(resultado));

            s1.close();
            dis.close();
            dos1.close();
        }    
        }
        catch(IOException e){
            System.out.println("ERROR NO CLIENTE");    
        }


    }

}
1 resposta

Olá Maurício,

O erro "java.sql.SQLException: No suitable driver found for jdbc" pode ocorrer quando o driver JDBC não é encontrado ou não está no classpath do projeto. Verifique se o driver JDBC do Postgres está no classpath do seu projeto.

Além disso, verifique se o nome do driver está correto. O driver JDBC do Postgres é "org.postgresql.Driver".

Outra opção é verificar se a URL de conexão está correta. A URL de conexão deve seguir o seguinte formato: "jdbc:postgresql://localhost:5432/nome_do_banco_de_dados".

Espero ter ajudado e bons estudos!