Olá, sou iniciante em java e estou tentando fazer a comunicação entre java e o pgsql… aí vai um pedaço do teste que fiz:
importei o java.sql:
e logo após as declarações usuais:
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException cnfe) {
System.out.println("Problemas com o driver");
cnfe.printStackTrace();
System.exit(1);
}
Em cnfe.printStackTrace() ele retorna o seguinte conteúdo:
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
Alguém aí pode me ajudar???
vc colocou o Driver no classpath?
se sim, vc colocou no classpath da maquina ou da IDE?
[quote=“Fierodd”]vc colocou o Driver no classpath?
se sim, vc colocou no classpath da maquina ou da IDE?[/quote]
Bem…
Eu entrei la nas variaveis de ambiente e nas variaveis de ambiente eu coloquei uma nova chamada POSTGRE_CLASSES com o valor:
C:\Arquivos de programas\PostgreSQL\8.2\jdbc\postgresql-8.2-504.jdbc3.jar
se isso nao for o classpath, por favor me explique como fazê-lo.
Eu estava usando o netbeans mas como ele pesou na maquina eu passei a usar o bloco de notas… mas enqto estava no netbeans, eu abri a janela do runtime e adicionei o .jar mas nada…
Eu também tentei configurar a variável CLASS_PATH tentando apontar para o diretório do driver mas não deu certo. A solução que eu encontrei foi descompactar o arquivo jar. do drive do postgresql e importar pelo eclipse como se fosse um pacote comum. Aí as classes do pacote org.postgresql ficaram visíveis ao meu projeto e a aplicação rodou.
O código que utilizei foi este:
import java.sql.*;
public class SQLStatement {
public static void main(String args[]) {
//String url = "jdbc:postgresql://10.0.1.53:5432/agenda";
String url = "jdbc:postgresql://localhost:5432/agenda";
//String url = "jdbc:postgresql:agenda"; //Assim pega os defaults
Connection con;
String query = "select * from amigos";
Statement stmt;
try {
Class.forName("org.postgresql.Driver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
}
try {
con = DriverManager.getConnection(url,"postgres", "180185");
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
int rowCount = 1;
while (rs.next()) {
System.out.println("Registro " + rowCount + ": ");
for (int i = 1; i <= numberOfColumns; i++) {
System.out.print(" Campo " + i + ": ");
System.out.println(rs.getString(i));
}
System.out.println("");
rowCount++;
}
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.print("SQLException: ");
System.err.println(ex.getMessage());
}
}
}
Espero ter ajudado,
[]'s
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - Erko[/color][/size] :joia:
Entre novamente nas variaveis de ambiente, la provavelmente ja vai haver uma variavel chamada classpath entao vc edita e adiciona o caminho de onde esta o jar (da mesma forma q vc fez com a postgre_classes).
coloque um ponto e virgula ao final e adicione o seu jar
entao fica tudoQueJaEstiverNoClasspath;caminhoDoJarDoPostgree
[quote=“Fierodd”]Entre novamente nas variaveis de ambiente, la provavelmente ja vai haver uma variavel chamada classpath entao vc edita e adiciona o caminho de onde esta o jar (da mesma forma q vc fez com a postgre_classes).
coloque um ponto e virgula ao final e adicione o seu jar
entao fica tudoQueJaEstiverNoClasspath;caminhoDoJarDoPostgree[/quote]
Bem… nao encontrei a variavel classpath… tem a path mas não tenho certeza se é a mesma coisa mas adicionei o caminho nela e nao adiantou…
entao cria a classpath, ai coloca o caminho do jar nela!
até fiz isso mas o problema persiste, ele nao ta achando as classes…
no netbeans tb nao da certo…