Problemas para registrar driver "org.postgresql.Driver&
7 respostas
B
baalzamonPJ
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)
vc colocou o Driver no classpath?
se sim, vc colocou no classpath da maquina ou da IDE?
B
baalzamonPJ
“Fierodd”:
vc colocou o Driver no classpath?
se sim, vc colocou no classpath da maquina ou da IDE?
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…
A
andrergomesPJ
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:
importjava.sql.*;publicclassSQLStatement{publicstaticvoidmain(Stringargs[]){//String url = "jdbc:postgresql://10.0.1.53:5432/agenda";Stringurl="jdbc:postgresql://localhost:5432/agenda";//String url = "jdbc:postgresql:agenda"; //Assim pega os defaultsConnectioncon;Stringquery="select * from amigos";Statementstmt;try{Class.forName("org.postgresql.Driver");}catch(java.lang.ClassNotFoundExceptione){System.err.print("ClassNotFoundException: ");System.err.println(e.getMessage());}try{con=DriverManager.getConnection(url,"postgres","180185");stmt=con.createStatement();ResultSetrs=stmt.executeQuery(query);ResultSetMetaDatarsmd=rs.getMetaData();intnumberOfColumns=rsmd.getColumnCount();introwCount=1;while(rs.next()){System.out.println("Registro "+rowCount+": ");for(inti=1;i<=numberOfColumns;i++){System.out.print(" Campo "+i+": ");System.out.println(rs.getString(i));}System.out.println("");rowCount++;}stmt.close();con.close();}catch(SQLExceptionex){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:
FieroddPJ
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
B
baalzamonPJ
“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
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…
FieroddPJ
entao cria a classpath, ai coloca o caminho do jar nela!
B
baalzamonPJ
até fiz isso mas o problema persiste, ele nao ta achando as classes…