Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Guest Gustavo C. S.

Jdbc Odbc Driver

Question

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!

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0
Guest gHost

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".

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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é!!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148131
    • Total Posts
      643434
×
×
  • Create New...