Postgre + jdbc

6 respostas
emanoel.almeida

Bem pessoal meu problema é; Não estou conseguindo conectar minha aplicação ao meu banco postgresql. Da erro na linha onde o sistema tenta carregar o dirver jdbc.

1 - Baixei um driver do site jdbc.postgres… chamado postgresql-8.3-603.jdbc4.jar renomeei para postgres.jar e coloquei ele na pasta java/jre/lib ja com com o novo nome.

2 - Adcionei o caminho do arquivo à variável CLASSPATH, como segue abaixo:
/usr/local/java/jre/lib/postgre.jar

O codigo do sistema é como abaixo e me retorna um erro que não achou o driver?

Alguem pode me informar onde estou errando?

import java.sql.*;
import javax.swing.*;

public class Exemplo1302 {

	public static void main(String[] args){
		final String DRIVER = "org.postgresql.Driver";
		final String URL = "jdbc:postgresql://localhost/teste";
		
		try{
			Class.forName(DRIVER);
			Connection connection = DriverManager.getConnection(URL);
			
			String sql = "select codigo, titulo, FROM Filmes";
			
			Statement statement = connection.createStatement();
			ResultSet resultSet = statement.executeQuery(sql);
			
			System.out.println("CODIGO        TITULO");
			System.out.println("--------          -----------------------");
			while(resultSet.next()){
				String codigo = resultSet.getString("codigo");
				String titulo = resultSet.getString("titulo");
				System.out.println(codigo + "             " + titulo);
			}//while
			resultSet.close();
			statement.close();
		}//try
		catch(ClassNotFoundException Erro){
			JOptionPane.showMessageDialog(null, "Driver JDBC_ODBC não encontrado");
		}catch(SQLException erro){
			JOptionPane.showMessageDialog(null, "Problemas na conexao com o banco de dados"+ erro.toString());
		}//catch
	}//main
}//class

6 Respostas

C

Opa blz?

Seguinte mudou um pouco o jeito de fazer a conecao agora…
utilize o properties da seguinte forma

Properties dbProperties = new Properties();
      String databaseURL = "jdbc:postgresql://localhost:5432/teste",  User = "postgres",  Pass = "postgres";
      dbProperties.put("user",User);
      dbProperties.put("password", Pass);
      Connection con = null;
      try{
            Class.forName("org.postgresql.Driver");
            con = DriverManager.getConnection(databaseURL, dbProperties);
      } catch (Exception ex) {
      }

poste o erro completo pra pode ti ajuda melhor… talvez seja este o erro mais se nao for isto tambem daria erro
eafoufhaeoh

Abracos

emanoel.almeida

A dica ainda não ajudou. O meu erro ocorre na linha Class.forName(“org.postgresql.Driver”); pois ele retorna um erro dizendo que o driver não foi encontrado. Eu não sei mais o que fazer. Simplesmente não acha o driver jdbc

C

porfavor pesso novamente q cole o erro para podermos identificar des do inicio ateh o final do erro

emanoel.almeida

root@slax:~/Desktop# java -jar app2.jar java.lang.ClassNotFoundException: org.postgresql.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at Exemplo1302.main(Exemplo1302.java:14) root@slax:~/Desktop#

C

Boa tarde,
tipo qual ide vc tah usando?

lah dentro do manifest.mf que fica dentro do seu jar deve estar assim

Class-Path: postgres.jar

da uma olhada, talvez seja isso… pois eh como vc mesmo disse ele nao encontra… senao funcionar tenta indicar na linha de comando o caminho para o classpath… na linha de comando vc indica ele por

-cp <class search path of directories and zip/jar files>

e deixe o arquivo jar do postgres ali no diretorio junto do jar da sua aplicacao

tenta ai

Abracos

emanoel.almeida

Valeu Carlos, consegui resolver.

Segundo o manual do postgres http://jdbc.postgresql.org/doc.html#load devo colocar o driver dentro do diretório lib/ext.

Valeu carlos, muito Obrigado.

Criado 5 de julho de 2008
Ultima resposta 6 de jul. de 2008
Respostas 6
Participantes 2