[RESOLVIDO]Problema com driver ou url do banco de dados postgreSQL para fazer conecção com o JAVA!

44 respostas
guisantogui

Pessoal preciso conectar um sistema em JAVA com um BD em postgreSQL.

Pesquisando, vi que era necessário instalar um driver para tal e encontrei esse “jdbc” alguem sabe como instalo, se tenho q colar os arquivos em alguma pasta. Se tiver o link pra donwload do driver aceito e alguns tutoriais, exemplos passo-a-passo, modelos e etc serão bem vindos!

vlw galera!

44 Respostas

L

vc já programa em java??

guisantogui

SIM! já faz mais ou menos 1 ano!

Java_Lover

Essa sua dúvida eu já tive…
Não leve a mal, mas foi quando eu nem sabia o que era JAVA…
Não é aqui que você vai encontrar sua resposta, mas em algum curso ou tutorial bem básico de hibernate…

guisantogui

pode postar algum link sobre o assunto!

Java_Lover

Ok, eu aprendi aqui mas tá em inglês e isso pra mim não é problema.
No próprio GUJ vc teria achado se tivesse usado a pesquisa ou lido os artigos.
Minha intenção é contribuir:
[list]Introdução ao JDBC[/list][list]JDBC e bancos de dados[/list]

guisantogui

Obrigado, se tiver mais material ou alguma dica mais “quente” estou ouvindo!

M

Leia a apostila FJ-21 da Caelum.

Z

Fala guisantogui ,

Cara tb tive bastante dificuldade para aprender como usar o jdbc sozinho.

Você deve baixar o drive de acordo com o banco que vc utilizará, eu por exemplo uso o jdbc do oracle 10g.
No site do oracle tem os .jars de acordo com a versão do banco.

Para usá-lo basta copiar o arquivo .jar na pasta lib do seu projeto e depois adicionar esse .jar no seu classpath(eclipse)

Pronto!

Como dito acima, há vários tutoriais e fóruns, mas qualquer coisa posta aí sua dúvida…

falow

guisantogui

Devo colar o driver do jdbc em qual pasta do projeto?

Apenas o arquivo “.DRIVER” ou quais?

Z

bem citado, eu mesmo fiz o curso rsrsr

o fj-21 me ajudou muito , na verdade comecei a programar depois desse curso (Salve Adriano!)…

dá uma lida nela, é bem didática

guisantogui

zillo no caso eu uso o netBeans, sabe se devo colocar na pasta src, ou build?

PS.: Baixei um driver mas não é .jar, eh “.driver”, sabe me dizer ql eh a versão correta? (Uso netBeans 6.8 e postgreSQL 8.3) se tiver, pode tambem postar o link?

vlw pela ajuda!
:smiley:

guisantogui

gente, não sei se já resolvi o problema do driver e talvez se eu resolver ele resolva esse junto, pq qdo eu executo o projeto o compilador estoura uma exceção dizendo q não encontra a conexão! “jdbc://localhost:5432, user, senha” sabe me dizer se o problema é realmente no diver ou devo me concentrar nesse outro!

M

Está no driver. Ele deveria estar no classpath, mas pelo jeito não está.

guisantogui

bom eu uso o netBeans como ferramenta de desenvolvimento, jah tentei duas versões de drivers ambas coladas na pasta “build” do projeto, sabe se a pasta esta correta?
alias uso a versão 6.8 do netBeans e 8.3 do postgreSQL sabe ql eh o driver certo para as minhas ferramentas? e se tiver os links eu também agradeço! :wink:

M

O JAR pode ser baixado aqui: http://jdbc.postgresql.org/download.html#supported

Escolha a versão 8.3 e JDBC 4 se estiver usando JDK 1.6 ou JDBC 3 se estiver usando JDK 1.4 ou 1.5.

Para colocar o JAR no classpath, vá no seu projeto do Netbeans, clique com o botão direito sobre “Bibliotecas” e escolha “Adicionar JAR/Pastas”. Depois escolha o JAR que você baixou.

guisantogui

alguem sabe mais algo?

guisantogui

Não sei se é o driver que esta na versão errada ou a pasta que não eh a certa, uso o netBeans 6.8 e postgreSQL 8.3, na pasta do projeto colei na build esta certo? Alguem sabe ql eh o driver correto?

vlw!

guisantogui

Eu tenho que estar com o banco de dados aberto no postgre na hora de compilar o projeto?

pq ainda esta emitindo erro

L

Cara… no netbeans é ainda mais simples… o 6.8 ja tem o driver do postgresql…
No seu projeto, cique com o botao direito em bibliotecas e depois em adicionar biblioteca…
Escolha postgresql e adicionar!!!

M

guisantogui:
Não sei se é o driver que esta na versão errada ou a pasta que não eh a certa, uso o netBeans 6.8 e postgreSQL 8.3, na pasta do projeto colei na build esta certo? Alguem sabe ql eh o driver correto?

vlw!


Leia o que eu escrevi logo acima. Lá estão as repostas para ambas as perguntas.

L

A compilação da aplicação não tem ligação alguma com o serviço do banco de dados!!!
Nem mesmo precisa estar instalado o banco… Só para rodar a aplicação é necessário o serviço ativo.

L

Com o netbeans vc não precisa se preocupar com os jars…
É só adicioná-los em Bibliotecas que o Netbeans faz o resto…
Inclusive na geração da distribuição!!

guisantogui

ok, mas ql eh o nome do arquivo q eu coloco para chamar no

Class.forName(" ?????????? ");

Se puder ajudar to bem perdido! :confused:

guisantogui

ainda da erro!

Testei com o:

Class.forName("java.sql.Driver");

e deu o seguinte erro!

java.sql.SQLException: No suitable driver found for jdbc://localhost:5432/postgres at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:185) at Conexao.main(Conexao.java:15) CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

M
Class.forName("org.postgresql.Driver");
L

org.postgresql.Driver

cara… numa boa…
da uma olhada aqui:
http://jdbc.postgresql.org/doc.html

M

E para se conectar no banco, veja isso: http://jdbc.postgresql.org/documentation/83/connect.html

guisantogui

Acho que resolvi o problema com o driver, mas apareceu um na url,

Aparentemente esta tudo correto, mas ...
olhem o meu bloco "try catch":

try 
        {

            Class.forName("org.postgresql.Driver");

            Connection con = null;
            con = (Connection) DriverManager.getConnection("jdbc://localhost:5432/Conexão","postgres","admin");
            System.out.println("Conectado");

        }
        catch (ClassNotFoundException ex)
        {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(SQLException e)
        {
                    e.printStackTrace();
        }

Obrigado mesmo pela ajuda! :wink:

L

vc ja criou o banco???

no lugar de “Conexão” vc tem que por o nome do banco!!!

guisantogui

já criei o banco e o nome do banco é “Conexão”!!

:?

guisantogui

A url do projeto tenho certeza que está correta, mas se o driver tb não é onde esta dando o erro, onde seria? :(

Brigadão pela ajuda gurizada!

Código novamente:

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

        try
        {

            Class.forName("org.postgresql.Driver");

            Connection con = null;
            con = (Connection) DriverManager.getConnection("jdbc://localhost:5432/Conexão","postgres","admin");
            System.out.println("Conectado");

        }
        catch (ClassNotFoundException ex)
        {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(SQLException e)
        {
                    e.printStackTrace();
        }
    }
}
L.Bach
guisantogui:
A url do projeto tenho certeza que está correta, mas se o driver tb não é onde esta dando o erro, onde seria? :(

Brigadão pela ajuda gurizada!

Código novamente:

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

        try
        {

            Class.forName("org.postgresql.Driver");

            Connection con = null;
            con = (Connection) DriverManager.getConnection("jdbc://localhost:5432/Conexão","postgres","admin");
            System.out.println("Conectado");

        }
        catch (ClassNotFoundException ex)
        {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(SQLException e)
        {
                    e.printStackTrace();
        }
    }
}

Mas, afinal de contas, qual é o erro que está dando?

guisantogui
[code]java.sql.SQLException: No suitable driver found for jdbc://127.0.0.1:5432/Bancodedados
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at Conexao.main(Conexao.java:15)

Essa é a exceção que o netBeans esta lançando!

L.Bach
guisantogui:
[code]java.sql.SQLException: No suitable driver found for jdbc://127.0.0.1:5432/Bancodedados
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at Conexao.main(Conexao.java:15)

Essa é a exceção que o netBeans esta lançando!

Em qual pasta tu colocou o jar do postgre?

guisantogui

eu importei direto do netBeans, ta na classpath!

L.Bach

É, mas ele não está encontrando o Driver.
Faz o que te disseram antes: vai nas configurações do projeto, Adicionar Jar e adiciona o driver do postgres.

guisantogui

É, mas ele não está encontrando o Driver.
Faz o que te disseram antes: vai nas configurações do projeto, Adicionar Jar e adiciona o driver do postgres.

Baixei e importei, mas continua dando o msm erro!
:?

guisantogui

jah descobri. O problema esta na url, mas msm assim naum sei o q devo fazer para soluciona-lo!

L.Bach

Como dizia um amigo meu, alguma coisa errada não está certa…

O que te garante que o erro é da URL?

guisantogui

Pq eu fiz um teste com o driver e ele ta carregando direitinho! :slight_smile:

guisantogui

Encontrei a url do banco de dados, mas como nem tudo são flores né, apareceu mais um erro!

vou postar o código e a o erro!

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

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

        try
        {

            Class.forName("org.postgresql.Driver");
            System.out.println("Driver carregado");

            Connection con = null;
            con = (Connection) DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/Bancodedados","postgres","admin");
            System.out.println("Conectado");

        }
        catch (ClassNotFoundException ex)
        {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(SQLException e)
        {
            e.printStackTrace();
        }
    }
}

o erro:

org.postgresql.util.PSQLException: FATAL: database "Bancodedados" does not exist
        at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:444)
        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:99)
        at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
        at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)
        at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
        at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:29)
        at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
        at org.postgresql.Driver.makeConnection(Driver.java:386)
        at org.postgresql.Driver.connect(Driver.java:260)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at Conexao.main(Conexao.java:16)
L.Bach
guisantogui:
Encontrei a url do banco de dados, mas como nem tudo são flores né, apareceu mais um erro!

vou postar o código e a o erro!

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

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

        try
        {

            Class.forName("org.postgresql.Driver");
            System.out.println("Driver carregado");

            Connection con = null;
            con = (Connection) DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/Bancodedados","postgres","admin");
            System.out.println("Conectado");

        }
        catch (ClassNotFoundException ex)
        {
                Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
        catch(SQLException e)
        {
            e.printStackTrace();
        }
    }
}

o erro:

org.postgresql.util.PSQLException: FATAL: database "Bancodedados" does not exist
        at org.postgresql.core.v3.ConnectionFactoryImpl.readStartupMessages(ConnectionFactoryImpl.java:444)
        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:99)
        at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
        at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:124)
        at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30)
        at org.postgresql.jdbc4.AbstractJdbc4Connection.<init>(AbstractJdbc4Connection.java:29)
        at org.postgresql.jdbc4.Jdbc4Connection.<init>(Jdbc4Connection.java:24)
        at org.postgresql.Driver.makeConnection(Driver.java:386)
        at org.postgresql.Driver.connect(Driver.java:260)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at Conexao.main(Conexao.java:16)

Bom, agora ele não encontra é o banco, propriamente dito.
Teu banco de dados se chama "Bancodedados" ?

guisantogui

Sim tudo deveria estar funcionando perfeitamente!!

Não consigo entender onde esta o erro!
A unica explicação mais viavel seria q o driver não é adequado por isso naum esta encontrando o BD, mas jah testei varios tipos de drivers!
:?

guisantogui

Consegui conectar!!! :smiley: :smiley: :smiley: :smiley: :smiley:

O problema estava no nome do banco eu estava colocando a descrição!!
:stuck_out_tongue:

Obrigado a todos os que postaram e contribuiram para a resolução de mais uma duvida!!
Parabéns ao GUJ pelo forum de qualidade que temos a disposição!

:smiley: :smiley: :smiley:

Criado 24 de fevereiro de 2010
Ultima resposta 25 de fev. de 2010
Respostas 44
Participantes 6