Problema com a conexão do banco de dados acess, Help! [RESOLVIDO]

4 respostas
T

Ola pessual tudo bem?

Estou com o seguinte problema: estou a desenvolver uma aplicação e tem uma classe que chama-se cadastro de acervo desenvolvi um banco de dados em acess e criei uma classe que vai cuidar da conexão e desconexão desse banco porem quando executo ele da um erro que nao encontrou o banco o que pode ser, vou colocar as classes abaixo:

Essa foi a classe que criei para efetuar a conexão

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

public class Conexao
{
    final private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    final private String url = "jdbc:odbc:Biblioteca Drummond";
    final private String usuario = "";
    final private String senha = "";
    private Connection conexao;
    public Statement statement;
    public ResultSet resultset;
    
    public boolean conecta()
    {
        boolean result = true;
        try
        {
            Class.forName(driver);
            conexao = DriverManager.getConnection(url,usuario,senha);
            JOptionPane.showMessageDialog(null,"conectou");
        } catch (ClassNotFoundException Driver)
                {
                JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
                result = false;
                }
        catch(SQLException Fonte)
        {
            JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
                    "com a fonte de dados: "+Fonte);
            result = false;
        }
       return result;
    }
    
    public void desconecta()
    {
        boolean result = true;
         try
         {
             conexao.close();
             JOptionPane.showMessageDialog(null,"banco fechado");
         }      
         catch(SQLException fecha)
         {
             JOptionPane.showMessageDialog(null,"Não foi possivel "+
                     "fechar o banco de dados: "+fecha);
             result = false;
         }
    }

public void executeSQL(String sql)
{
   try
   {
       statement = conexao.createStatement();
       resultset = statement.executeQuery(sql);
   }
   catch(SQLException sqlex)
   {
     JOptionPane.showMessageDialog(null,"Não foi possivel executar o comando sql"+sqlex+" ,o sql passato foi "+sql);  
   }
}
}

Essa é a classe que chama classe conexão

package Acervo;
import javax.swing.*;
import utilitarios.Conexao;
public class Cadastro_Acervo extends javax.swing.JFrame {
    
  Conexao cad_acervo;//chama classe
    
    public Cadastro_Acervo() {
        initComponents();
    cad_acervo = new Conexao();
    cad_acervo.conecta();//invoca o metodo conecta
    
    }

4 Respostas

viniciusgundim

Tente usar essa classe conexão, há altere tb o nome da base de dados em vez de Biblioteca Drummond coloque BibliotecaDrummond, acho que iraá conseguir

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
public class conexao{
    final private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
    //Efetua a Conexão com o Banco
    final private String url = "jdbc:odbc:BibliotecaDrummond";
    final private String usuario = "";
    final private String senha = "";
    private Connection conexao;
    //Responsável por abrir o caminho até o Banco de Dados
    public Statement statement;
    //Armazena os Dados do Banco
    public ResultSet resultset;
    
    //Classe Conecta
    public boolean conecta () {
        boolean result = true;
        try {
            Class.forName(driver);
            try {
                conexao = DriverManager.getConnection(url, usuario, senha);
                System.out.println("Conectou");
            } catch (SQLException ex) {
                Logger.getLogger(conexao.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        catch(ClassNotFoundException Drive) {
            JOptionPane.showMessageDialog(null, "Não foi Possível Conectar a Base de Dados");
            result = false;
        
        }
        return result;
    }
    //Classe Desconecta
    public void desconecta (){
        boolean result = (true);
        try{
            conexao.close();
        }
                catch (SQLException erroSQL){
                    result =false;
                }
    }
    //Conecta Sql
    public void execultesql(String sql){
        try{
            
            statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
            resultset = statement.executeQuery(sql); 
        }
        catch (SQLException sqlex){
            JOptionPane.showMessageDialog(null, "Não foi possível executar o comando SQL"+sqlex);
        }
    }

    public void executesql(String string) {
        throw new UnsupportedOperationException("Not yet implemented");
    }
}
R

para usar o banco de dados access, vc tem q ir no painel de controle, ferramentas do sistema, e em Banco de Dados ODBC(se nao me engano é esse no mesmo rs), e registrar o banco de dados que vc criou

viniciusgundim

TCalderoni,

tem que fazer o procedimento logo acima que o rodrigojava disse, vc tem que montar uma fonte de dados no odbc do windows se não vai conectar…

T

Putz tinha esquecido disso, na verdade estava tudo certo,com excessão a Biblioteca Drummond, pois eu tinha de informar o nome da tabela e não d banco ai deu certo, e a parte da conexão eu tinha de criar no Painel de controle mesmo, rsrsrs. Valew pessual mais uma vez

Criado 2 de novembro de 2009
Ultima resposta 3 de nov. de 2009
Respostas 4
Participantes 3