Problema com a conexão com banco de dados

6 respostas
K

Pessoal eu não consigo entender porque meu código não conecta com o banco de dados, usei o Netebans e não encontrei erros, no enatnto não consigo fazer a aplicação conectar o banco, se poderem me ajudar serei muito grato segue o código.

[code]package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import dao.GerenciadorException;

public class Conexoes
{

public static Connection conn;

public static Connection getConnection() throws GerenciadorException
{
try {

// Class.forName("org.postgresql.Driver").newInstance();
// conn = DriverManager.getConnection("jdbc:postgresql://10.88.0.218:5433/curso","aluno","aluno");

Class.forName("com.mysql.jdbc.Driver");
//return DriverManager.getConnection("jdbc:mysql://localhost/projetos","root","");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/projetos","root","");
return conn;

}catch(Exception e)
{
throw new GerenciadorException("Erro ao conectar com a Base de Dados!");
}
}

public static void close(Connection conn, Statement stm, ResultSet rs) throws GerenciadorException
{
try
{
if(rs!=null)rs.close();
if(stm!=null)stm.close();
if(conn!=null)conn.close();
}
catch (Exception e)
{
throw new GerenciadorException("Erro ao conectar com a Base de Dados! ");
}
}

public static void closeConnection(Connection conn, Statement stm, ResultSet rs) throws GerenciadorException
{
close(conn, stm, rs);
}

public static void closeConnection(Connection conn, Statement stm) throws GerenciadorException
{
close(conn, stm, null);
}

public static void closeConnection(Connection conn) throws GerenciadorException
{
close(conn, null, null);
}

}

[/quote]
código de teste:

package dao;

import interfaces.InterfaceProjetoDAO;
import modelo.Projeto;

public class Teste_de_acesso {

/**
* @param args
*/
public static void main(String[] args) throws GerenciadorException {

InterfaceProjetoDAO ipdao = new GerenciadorDAO();

/*
*
* Listar Projetos
*
List lista = ipdao.listarTodosProjetos();

for(Projeto proj : lista)
{
System.out.println(proj.getNome()+" "+proj.getDescricao()+" "+proj.getInicio()+" "+proj.getTermino() );
}
*/

/*
*
* Incluir Projetos
*
*/

Projeto proj = new Projeto();
proj.setNome("TesteRE");
proj.setDescricao("Java teste");
proj.setInicio("1234");
proj.setTermino("3435");

ipdao.criarProjeto(proj);

}
}

6 Respostas

doug

Olá

  1. Você tem certeza que os IP e o usuário estão corretos?

  2. Algumas vezes tive problemas para conectar por causa do firewall do windows, dai tive que liberar a porta (3306 ou 5432).

  3. Tem alguma exception que é exibida na tela?

Flwss

H

Os dados da conexão que ficam dentro de:

DriverManager.getConnection("Dados de conexão");

Podem possuir variação na formatação de acordo com o banco que você está utilizando. Alguns utilizam barra (/), outros utilizam dois pontos.
Confirme isso.

Ah, outra coisa, pra pegar o erro que está dando, dentro do seu catch imprima o erro:

catch(Exception e) 
{ 
System.out.println(e.getMessage());
}

Com o erro exato fica mais fácil de te ajudar.

K
amigo o erroa que aparerece é este:

Exception in thread “main” dao.GerenciadorException: Erro ao conectar no banco!

at dao.GerenciadorDAO.(GerenciadorDAO.java:30)

at dao.Teste_de_acesso.main(Teste_de_acesso.java:15)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)
doug

Olá

Tente debuga e colocar um breakpoint nesta linha marcado com um *
public static Connection getConnection() throws GerenciadorException
{
try {

// Class.forName("org.postgresql.Driver").newInstance();
// conn = DriverManager.getConnection("jdbc:postgresql://10.88.0.218:5433/curso","aluno","aluno");

Class.forName("com.mysql.jdbc.Driver");
//return DriverManager.getConnection("jdbc:mysql://localhost/projetos","root","");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/projetos","root","");
return conn;

}catch(Exception e)
{
* throw new GerenciadorException("Erro ao conectar com a Base de Dados!");
}
}

Veja o conteúdo do objeto e (Exception)
Dai reporte para nós qual erro é.. Por favor

H

Cara, pelo que vc mostrou o erro que está aparecendo é o erro que você mesmo está disparando de dentro do catch, quando vc faz isso:

throw new GerenciadorException("Erro ao conectar com a Base de Dados! ");

A propósito, tenho um código aqui para você recuperar uma Connection do banco mysql.
Espero que ajude.

private String driver = "com.mysql.jdbc.Driver";
    private String host = "jdbc:mysql://localhost:3306/mydb";
    private String username = "root";
    private String password = "123456";

    public Connection getConnection(){
        Connection conn = null;
        try {
            Class.forName(driver);
            conn = DriverManager.getConnection(host, username, password);
            System.out.println("Conectado!");
        } catch (SQLException ex) {
            Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
        }
        return conn;
    }
K

Fiz como solicitou:

Anexando a tomcat_shared_memory_id
Não foi possível enviar o ponto de interrupção LineBreakpoint ProjetoServlet.java : 12, razão: O ponto de interrupção está configurado fora de qualquer classe.
Inválido LineBreakpoint ProjetoServlet.java : 12
Não foi possível enviar o ponto de interrupção LineBreakpoint Desenvolvedor.java : 5, razão: O ponto de interrupção está configurado fora de qualquer classe.
Inválido LineBreakpoint Desenvolvedor.java : 5
Não foi possível enviar o ponto de interrupção LineBreakpoint DesenvolvedorDAO.java : 21, razão: O ponto de interrupção está configurado fora de qualquer classe.
Inválido LineBreakpoint DesenvolvedorDAO.java : 21
Executando programa do usuário

Criado 17 de junho de 2010
Ultima resposta 17 de jun. de 2010
Respostas 6
Participantes 3