Problemas em acessar e retornar dados de um DBF ! [Resolvido]

4 respostas
Ederson_Silva

Bom fiz uma busca no fórum e descobri o código abaixo e fiz minhas modificações para minha tabela, mas não me retorna nada, gostaria de saber quais modificações preciso fazer para me retornar os dados da tabela ! obrigado por enquanto....

//Importa as classes necessárias para o programa, a classe responsável pelo DBF é a com.hxtt.sql...  
   import java.sql.*;  
   import java.io.*;  
   import com.hxtt.sql.*;  
   public class SemODBC {  
      public static void main(String[] args) {  
         try {  
            //Registrar o Driver JDBC do banco de dados, neste caso estou usando o DBF  
            String conexao = "com.hxtt.sql.dbf.DBFDriver";  
            //Carrega o Driver a ser utilizado  
            Class.forName(conexao).newInstance();  
            //Indica o caminho do arquivo  
            String caminho = "D:\"; 
            // String de conexao para o DBF  
            String url = "jdbc:DBF:/" + caminho;  
            //Faz um SELECT no arquivo  
            String sql = "SELECT * FROM tabcot";  
            //OBS.: Não coloque a extensão do arquivo, deixe sem .DBF  
            //Abre uma conexão com o arquivo  
            Connection conn = DriverManager.getConnection(url);  
            // recuperar a classe Stamtemant a partir da conexao criada  
            Statement stmt = conn.createStatement();  
            //Retorna o resultado da Query  
            ResultSet rs = stmt.executeQuery(sql);  
            //Pegar o valor da(s) coluna(a) já no tipo desejado String, int, Date, etc...  
            while (rs.next()) {  
               String cotacao = rs.getString("cotacao"); 
               
            }  
            rs.close();  
            stmt.close();  
            conn.close();  
         } catch (Exception e) {  
            System.out.println("Oops-> " + e);  
         }  
      }  
   }

4 Respostas

Ederson_Silva

Será que tem como mover este tópico para o fórum apropriado, fiquei na dúvida se postei no lugar correto ! :roll:

valeu !

T

Pode ficar aqui mesmo.

Pergunta - qual é o nome do seu arquivo .dbf? É que você não o especificou. Eu não conheço esse driver, mas acho que caminho deve conter o nome do arquivo .dbf, não o diretório do arquivo .dbf.

Ederson_Silva

Coloquei o nome do arquivo que é tabcot.dbf no caminho , mas me retornou esse erro !

Oops-> java.sql.SQLException: D:tabcot doesn’t exist or can’t be accessed. If you’re using mapped drives to access database files, you may need to check the security permissions.

O arquivo está no local correto, agora não sei o que pode estar ocorrendo.

Ederson_Silva

Bom pessoal consegui o resultado que esperava, que era de acessar o arquivo e ler o .dbf , agora partirei para outro passo que é migrar esse banco de dados para mySQL para gravar essas tabelas dbf, se tiverem outras referências, ainda vou fazer a busca no fórum para maiores informações !

//Importa as classes necessárias para o programa, a classe responsável pelo DBF é a com.hxtt.sql...
   import java.sql.*;  
   import java.io.*;  
   import com.hxtt.sql.*;  
   public class SemODBC {  
      public static void main(String[] args) {  
         try {  
            //Registrar o Driver JDBC do banco de dados, neste caso estou usando o DBF  
            String conexao = "com.hxtt.sql.dbf.DBFDriver";  
            //Carrega o Driver a ser utilizado  
            Class.forName(conexao).newInstance();  
            //Indica o caminho do arquivo  
            String caminho = "D:\teste"; //eX.: C:\J2SDK1.4.1\BIN\  
            // String de conexao para o DBF  
            String url = "jdbc:DBF:/" + caminho;  
            //Faz um SELECT no arquivo  
            String sql = "SELECT * FROM tabcot";  
            //OBS.: Não coloque a extensão do arquivo, deixe sem .DBF  
            //Abre uma conexão com o arquivo  
            Connection conn = DriverManager.getConnection(url);  
            // recuperar a classe Stamtemant a partir da conexao criada  
            Statement stmt = conn.createStatement();  
            //Retorna o resultado da Query  
            ResultSet rs = stmt.executeQuery(sql);  
            //Pegar o valor da(s) coluna(a) já no tipo desejado String, int, Date, etc...  
            while (rs.next()) {  
               String cotacao = rs.getString("cotacao");
                              
               System.out.println(cotacao); //somente teste de retorno de dados
            
               
            }  
            rs.close();  
            stmt.close();  
            conn.close();  
         } catch (Exception e) {  
            System.out.println("Oops-> " + e);  
         }  
      }  
   }
Criado 7 de fevereiro de 2008
Ultima resposta 8 de fev. de 2008
Respostas 4
Participantes 2