Galera tenho um arquivo CLIENTES.DBF e preciso ler esse arquivo e mostrar numa tabela.
Estou usando o javaDBF que lê tranquilo, porém, o DBF tem os campos chamados memo, que eu acho que são indices para outros arquivos .DBF…
Quando eu chamo um arquivo:
InputStream inputStream = new FileInputStream( args[ 0]);
DBFReader reader = new DBFReader( inputStream);
ele carrega o .DBF, mas ao encontrar um campo memo, ele da erro.
@param args the command line arguments
*/
public static void main(String[] args) throws IOException, CorruptedTableException {
Table table = new Table(new File(“F:\CLIENTES.DBF”));
try {
table.open(IfNonExistent.ERROR);
// ... do your stuff
} finally {
table.close(); // don’t forget to close it!
}
}
}[/code]
erro:
run:
Exception in thread "main" nl.knaw.dans.common.dbflib.CorruptedTableException: Number of field descriptions in file could not be calculated.
at nl.knaw.dans.common.dbflib.DbfHeader.getFieldCount(DbfHeader.java:181)
at nl.knaw.dans.common.dbflib.DbfHeader.readAll(DbfHeader.java:131)
at nl.knaw.dans.common.dbflib.Table.open(Table.java:275)
at dans.Dans.main(Dans.java:27)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)
na hora de abrir pelo table.open(IfNonExistent.ERROR); ele dispara o erro, o engraçado que pelo javaDBF abre normal, apenas não le quando chega no campo memo
O arquivo DBT tem que estar no mesmo diretório do DBF… caso não tenha abra o arquivo com o open office ou libre office faça uma alteração no conteúdo do arquivo em seguida desfaça a modificação e manda
salvar o arquivo que será gerado um arquivo DBT;;
OI Pessoal. Sei que o problema já foi resolvido mas fiz o mesmo aqui mas estou tendo um problema ao criar o objeto table. Diz que o contrutor está indefinido e eu não estou sabendo consertar. Sou muito iniciante em java mas estou precisando fazer conexão com o dbf. Segue abaixo o código.