JdbcRowSet não encontra o driver do banco de dados

1. JdbcRowSet não encontra o driver do banco de dados

Adriano Siqueira
adrisiq

(usa KDE Neon)

Enviado em 29/09/2018 - 16:57h

Olá pessoal, tudo bem?
Estou tentando acessar um banco de dados PostgreSQL pelo java, usando a interface JdbcRowSet. Mas eu recebo uma exception dizendo que o driver não foi encontrado. Só que o mesmo código usando a interface Connection funciona sem problema nenhum.

Segue o código fonte:
package aula140_147.test;

import aula140_147.classes.Comprador;
import javax.sql.rowset.JdbcRowSet;
import javax.sql.rowset.RowSetProvider;
import java.sql.*;

public class Test {
private static String url = "jdbc:postgresql://localhost:5432/agencia";
private static String user = "postgres";
private static String pass = "postgres";
private static String sql = "select * from tb_comprador";

public static void main(String[] args) {
useConnection();
useRowSet();
}

private static void useConnection() {
try {
Connection connection = DriverManager.getConnection(url, user, pass);
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();

if (resultSet.next()) {
int id = resultSet.getInt(1);
String nome = resultSet.getString(2);
String cpf = resultSet.getString(3);
System.out.println(new Comprador(id, nome, cpf));
}

resultSet.close();
statement.close();
connection.close();
System.out.println("Usando connection: tudo certo.");
} catch (SQLException e) {
System.err.println(e.getMessage());
}
}

private static void useRowSet() {
try {
JdbcRowSet jdbcRowSet = RowSetProvider.newFactory().createJdbcRowSet();
jdbcRowSet.setUrl(url);
jdbcRowSet.setUsername(user);
jdbcRowSet.setPassword(pass);
jdbcRowSet.setCommand(sql);
jdbcRowSet.execute(); // <-- Essa linha lança a exceção

if (jdbcRowSet.next()) {
int id = jdbcRowSet.getInt(1);
String nome = jdbcRowSet.getString(2);
String cpf = jdbcRowSet.getString(3);
System.out.println(new Comprador(id, nome, cpf));
}

jdbcRowSet.close();
System.out.println("Usando jdbcRowSet: tudo certo.");
} catch (Exception e) {
System.err.println(e.getMessage());
}
}
}


StackTrace:
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/agencia
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
at java.sql.rowset/com.sun.rowset.JdbcRowSetImpl.connect(JdbcRowSetImpl.java:643)
at java.sql.rowset/com.sun.rowset.JdbcRowSetImpl.prepare(JdbcRowSetImpl.java:654)
at java.sql.rowset/com.sun.rowset.JdbcRowSetImpl.execute(JdbcRowSetImpl.java:556)
at aula140_147.test.Test.useRowSet(Test.java:50)
at aula140_147.test.Test.main(Test.java:18)


JDK: Oracle JDK 10.0.1
OS: LinuxMint 19
PostgreSQL (pacote): psql (PostgreSQL) 10.5 (Ubuntu 10.5-0ubuntu0.18.04)
PostgreSQL (driver): postgresql-42.2.5.jar

Desde já agradeço a ajuda.


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts