Importando dados do Foxpro

Ontem eu fui premiado com a responsabilidade de extrair algumas informações de sistema que só Deus sabia qual era. Ninguém sabia onde e nem como mas os dados teriam que ser extraídos. Não ache graça, isso faz parte do cotidiano de um Sysadmin no serviço público 😉

Ao chegar no dito setor e começar a analisar o funcionamento da aplicação e em seguida dos seus arquivos pude perceber que aquilo era apenas uma base de dados FoxPro, então se os dados não estivessem encriptados bastaria abrí-los no meu OpenOffice e pronto! Pena que o OpenOffice não reconheceu o formato do FoxPro (mesmo sendo um .dbf).

Solução? Google! Em uma pesquisa com os termos exportar e FoxPro achei um link que me levaria ao SourceForge (o berço de inúmeras aplicações que já me salvaram). Esta não poderia deixar de ser diferente.

Indo direto ao assunto: Primeiro baixe o programa xBase Swiss Army Knife (vulgo dbfsaq). Um verdadeiro canivete suíço para arquivos DBF do tempo do vovô MS-DOS no site http://dbfsak.sourceforge.net/ ou na página do projeto (http://sourceforge.net/projects/dbfsak/).

Eu baixei o pacote e compilei numa boa a partir do Ubuntu Gutsy apenas entrando na pasta onde o descompactei e emitindo um make.

cd dbfsak-4.3
make

Feito isso agora basta chamar o executável “dbfsak” da seguinte forma:

./dbfsak SeuArquivo.dbf -n estrutura.txt >dados.txt

Com isso, ao término do processamento você terá criado um arquivo com a estrutura do seu DBF e outro com os dados separados por tabulação (usando o parâmetro -d é possível mudar isso).

Se você tiver dezenas de arquivos para importar, nada melhor do que um pouquinho de conhecimento de Shell-script para facilitar:

for arq in `ls /caminho/para/seus/dbfs/`; do
	echo $arq ;
	./dbfsak $arq -n /caminho/para/seus/dbfs/${arq}-estrutura.txt >${arq}.txt ;
done

Eu pus o código acima em linhas separadas para facilitar a leitura mas você pode colar tudo em uma linha só que funciona.

Prontinho! Agora você poderá enfiar seus dados em qualquer canto já que ele está em formato TXT. Para importá-los no OpenOffice basta abrir o Calc e no menu Inserir escolher Folha de dados do arquivo. Deixe apenas a opção “Tabulação” marcada como separador de campo e o restante como está.

E só pra concluir digitando ./dbfsak sem parâmetros é possível ver a ajuda e lá nota-se um parâmetro interessante para gerar um dump com sql para o MySQL e para o postgreSQL.

Divirta-se!

Um comentário em “Importando dados do Foxpro”

  1. Achei a solução muito interesante.
    Estou em busca de uma solução para copiar dados do mozilla diretamente para calc.
    Será qe vc não conhece algo para me ajudar?
    Explicando melhor: Quero copiar determinada parte da tela do navagador em uma celula do calc.

Deixe um comentário para raggiotto Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.