Home / Tecnologia / Como fazer / JAVA – Conexao odbc direta para arquivos .dbf
JAVA – Conexao odbc direta para arquivos .dbf

JAVA – Conexao odbc direta para arquivos .dbf


imagem jdbc

Bom dia galera.

Bom, se você é programador Java, pode ter se deparado já com extensões de arquivos .dbf principalmente se teve que migrar alguma base de dados de uma tecnologia antiga, e não vou citar o Clipper que por incrível que pareça ainda tem aplicações rodando por aí.

Em um belo dia me vi tendo que resolver esse problema, usando o Windows tem essa questão do Odbc, adicionar uma fonte de dados do sistema, driver do acces, mas por algum motivo estranho o… Distinto driver não estava presente, particularidades lindas que só o Office e a Microsoft nos presenteiam no dia-a-dia.

Então encontrei essa maravilhosa biblioteca, a DBF_JDBC40, segue trecho de código exemplificando como ela simplifica as coisas:

 

public void Select(String caminho){
        try {
                 //Registrando o Driver JDBC do banco de dados...  
                 String conexao = "com.hxtt.sql.dbf.DBFDriver";  
                 //Carregando driver...  
                 Class.forName(conexao).newInstance();  
                 // String de conexao para o DBF  
                 String arquivo = "nomeArquivo";
                 String url = "jdbc:DBF:/"+caminho;  
                 //Faz um SELECT no arquivo  
                 String sql = "SELECT * FROM "+arquivo;  
                 //Não precisa colocar a extensão .dbf  
                 //Abrindo uma conexão  
                 Connection conn = DriverManager.getConnection(url);  
                 // Statement...  
                 Statement stmt = conn.createStatement();  
                 //ResultSet  
                 ResultSet rs = stmt.executeQuery(sql);  
                 //Pegar o valor da(s) coluna(a) já no tipo desejado String, int, Date, etc...  
                 while(rs.next()) {  
                     model.setAtributo1(rs.getString("nomeColuna1"));
                     model.setAtributo2(rs.getInt("nomeColuna2"));
                     model.setAtributo3(rs.getDate("nomeColuna3"));
                     model.setNasc(data);
                 }
                 rs.close();  
                 stmt.close();  
                 conn.close();

        } catch (InstantiationException ex) {
            System.out.println(">>>"+ex.getMessage());
        } catch (IllegalAccessException ex) {
            System.out.println(">>>"+ex.getMessage());
        } catch (SQLException ex) {
            System.out.println(">>>"+ex.getMessage());
        } catch (ClassNotFoundException ex) {
            System.out.println(">>>"+ex.getMessage());
        }
   }

Segue a biblioteca, que não é a mais fácil de achar >>> DBF_JDBC40


O objetivo desta postagem foi fornecer uma ajuda para quem já sabe usar JDBC e se depara com as bases de dados .dbf,  lindas que não permitem qualquer coisa e que estão por aí ainda hoje, para nossa total satisfação e alegria.

 

Espero que isso ajude alguém como também me ajudou.
Até a próxima, pessoal
.

Sobre David Ohio

David Ohio, tecnólogo em gestão da tecnologia da informação, desenvolvedor java, analista de mídias sociais, webmarketing manager, web designer, técnico em segurança do trabalho, mecânico de usinagem e eletricista de manutenção.

1 comentário

  1. ANDERSON LIRA

    Cara, parabéns! Ajudou muito!!!

Reponder

Seu e-mail não será publicado e nem usado em publicidade Campos obrigátorios *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Volte ao topo