Ir para conteúdo
Fórum Script Brasil
  • 0

Jdbc Odbc Driver


Guest Gustavo C. S.

Pergunta

Guest Gustavo C. S.

Criei a base de dados no MS Access exigida no curos de java para o programa java interpretar a minha bas de dados utilizando sql. Não consigo rodar a classe necessária para fazer a conexão do banco de dados. Configurei corretamente a fonte de dados ODBC e criei um arquivo Fornecedores.mdb com a tabela fornecedore como pede apostila do curso. Lá diz que eu posso pegar essa base de dados no site do professor, mas eu não sei qual é este site.

Também não entendo porque o aplicativo java não conectou à base de dados, acho que é porque o exemplo diz respeiot a fonte ODBC do windows 98 e eu utilizo o XP, mas me parece que os procedimentos são parecidos, porém o XP possui mais detalhes de configuração, será este o problema?

Se alguém compreender minha dúvida, peço encarecidamente ajuda para resolver este problema.

No mais, acho que isso não prejudicou o meu aprendizado, o curso de java oferecido pelo IPED é muito bom e eu recomendo!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Criei a base de dados no MS Access exigida no curos de java para o programa java interpretar a minha bas de dados utilizando sql. Não consigo rodar a classe necessária para fazer a conexão do banco de dados. Configurei corretamente a fonte de dados ODBC e criei um arquivo Fornecedores.mdb com a tabela fornecedore como pede apostila do curso. Lá diz que eu posso pegar essa base de dados no site do professor, mas eu não sei qual é este site.

Também não entendo porque o aplicativo java não conectou à base de dados, acho que é porque o exemplo diz respeiot a fonte ODBC do windows 98 e eu utilizo o XP, mas me parece que os procedimentos são parecidos, porém o XP possui mais detalhes de configuração, será este o problema?

Se alguém compreender minha dúvida, peço encarecidamente ajuda para resolver este problema.

No mais, acho que isso não prejudicou o meu aprendizado, o curso de java oferecido pelo IPED é muito bom e eu recomendo!

Desculpem-me pelos erros de português que cometi no primeiro comentário.

A minha dúvida é o seguinte:

no trecho do código da classe Fornecedores...

try{

url="jdbc:odbc:Fornecedores";

Class.forName("sun.jdbc.JdbcOdbcDriver");

conecta = DriverManager.getConnection("url");

saida.append("Conexão Efetuada com Sucesso \n");

}

catch(ClassNotFoundException e)

{

saida.append("Não foi possível efetuar a conexão, classe não encontrada"); }

catch(SQLException d)

{

saida.append("Não foi possível efetuar a conexão com o banco de dados");

}

...não consigo executar o objeto try, o cathc (ClassNotFoundExeption e) trava o meu programa, ele compil e executa normalmente mas aparece a mensagem:

"Não foi possível efetuar a conexão, classe não encontrada".

Link para o comentário
Compartilhar em outros sites

  • 0

Por alguma razão ele não está localizando as classes do pacote sun.

De qualquer forma, por que usar MS Access? Ainda que seja só para fins didáticos, acho que vale muito mais a pena você estudar a integração Java + MySQL através de JDBC mesmo. wink.gif

[]'s

iSoron.

Link para o comentário
Compartilhar em outros sites

  • 0
Criei a base de dados no MS Access exigida no curos de java para o programa java interpretar a minha bas de dados utilizando sql. Não consigo rodar a classe necessária para fazer a conexão do banco de dados. Configurei corretamente a fonte de dados ODBC e criei um arquivo Fornecedores.mdb com a tabela fornecedore como pede apostila do curso. Lá diz que eu posso pegar essa base de dados no site do professor, mas eu não sei qual é este site.

Também não entendo porque o aplicativo java não conectou à base de dados, acho que é porque o exemplo diz respeiot a fonte ODBC do windows 98 e eu utilizo o XP, mas me parece que os procedimentos são parecidos, porém o XP possui mais detalhes de configuração, será este o problema?

Se alguém compreender minha dúvida, peço encarecidamente ajuda para resolver este problema.

No mais, acho que isso não prejudicou o meu aprendizado, o curso de java oferecido pelo IPED é muito bom e eu recomendo!

Cara você pode terntar uma "mutreta de conexão" já que seu banco é access...bom tente isso:

Crie uma classe chamada conexão, toda ve que você for se conectar ao banco você instancia essa classe....assim:

package como.queira;
import java.sql.*;
import javax.swing.*;

public class Conexao {

private Connection con= null;
private String url;

public Connection getConect(){

        try{
        String Hd=System.getProperty("user.dir");
        Hd+="\\classes\\aplicativo\\banco.mdb";
        System.out.println("->"+Hd);
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        url="jdbc:odbc:banco";
        con= DriverManager.getConnection("jdbc:odbc:Driver=" +
       "{Microsoft Access Driver (*.mdb)};" +
       "DBQ=" + Hd ,"","");
        }
        catch(ClassNotFoundException ex2){
        JOptionPane.showMessageDialog(null,"catch1"+ex2.getMessage());
        }
        catch(SQLException ex){
        JOptionPane.showMessageDialog(null,"catch2"+ex.getMessage());
        }
        return con;
        }

}



È simples vamos lá:

aqui cv indica diretamente onde está seu banco de dados , na extrutura de seu diretório...no meu caso ta na pasta classes\\aplicativo\\nomedobanco.mdb

use como está sua aplicação.

String Hd=System.getProperty("user.dir");

Hd+="\\classes\\aplicativo\\banco.mdb";

A url indica para o jdbc onde esará isso( o alias, mas não precisa criar na fonteODBC do windows)

url="jdbc:odbc:banco";

Bom ele vai retornar sempre o Connection con, então quando você for se conectar em outra classe, basta instancia-la..(Obs se estiver em um package diferente faça a importação)

ex:

public class outraclasse{

Conexao cx= new Conexao();

......

Connection con=cx.getConect();

}

Pronto..não se esqueça de fechar as conexões apos usa-las...

con.close();

OBS2->Coloque também no catch() o

printStackTrace();

ele traz grandes informações do erro..

Até!!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Hélio --

Olá,

eu estava com o mesmo problema q o seu!

Dai eu mudei essa linha:

Class.forName("sun.jdbc.JdbcOdbcDriver");
Por essa:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Acabei descobrindo tentando saber de onde vinha essa informação, dai comecei a digitar um import no netbeans com todo esse caminho ;) Outro detalhe que vi no seu código é que aqui você atribui uma valor a variável url
url="jdbc:odbc:Fornecedores";
Mas depois você utiliza ela de forma errada, onde você digitou assim:
conecta = DriverManager.getConnection("url"); //  aqui esta sendo string
E deveria ser assim:
conecta = DriverManager.getConnection(url); // que é uma variável

Abraços,

Hélio

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...