Symantec Q&A – Enterrando de vez um banco de dados antigo

Achei que deveria escrever este artigo sobre esse banco de dados, para ajudar outras pessoas que algum dia possam ter o mesmo problema.
Como não encontrei muito pela internet sobre como converter os dados dele para algum banco de dados atual, escrevo aqui como fiz.
O Symantec Q&A (Questions & Answers) foi um banco de dados usado lá por meados de 1985-1990 e algo, e rodava em MS-DOS (credo).

Q&A

Recentemente comecei um projeto: estou desenvolvendo um sistema para uma empresa de venda de Navios, e esse sistema substituirá o Q&A por PHP/MySQL nessa empresa. Então tive que exportar os dados do Symantec Q&A deles para um formato que pudesse ser importado para o MySQL.

Como aqui no meu notebook uso o Arch Linux, primeiro abri o programa dentro do Prompt do MS-DOS no Windows XP instalado no Virtualbox. Depois, me lembrei do dosemu, que emula o MS-DOS no Linux, e me daria a possibilidade de abrir o Q&A sem precisar rodar o Windows XP no Virtualbox. Então instalei aqui o dosemu, e passei a utilizá-lo. Funciona da mesma forma que o Wine, ou seja, no Wine o comando seria “$ wine Programa.exe“; no dosemu, para rodar um programa, é da mesma forma: “$ dosemu Programa.exe“, e só.

Após rodar o Q&A pelo dosemu, para exportar o banco de dados de DTF (Formato do Q&A) para algum formato a ser importado para o MySQL, primeiro tive que ir em File->Utilities->Export data, e ali selecionei o formato dBase III. Em “Export to”, é só entrar com o filename para exportação e colocar a extensão .dbf (Extensão do dBase).

À partir daí, comecei a pensar em como abrir esse arquivo do dBase e exportá-lo para algo como .CSV ou .ODS (.xls do MS-Excel para os que não conhecem o OpenOffice.org).
Como no Arch Linux temos o ótimo AUR à nossa disposição, fui buscar algum pacote para fazer isso pra mim. Acabei encontrando os pacotes dbf e libdbf, que estavam como órfãos (Sem nenhum mantenedor). Então, notei também que o PKGBUILD deles estava com alguns erros, e acabei adotando esses pacotes, me tornando mantenedor dos mesmos, e pude modificar seus PKGBUILDs para ficarem corretos.

Após dar o $ makepkg e gerar os pacotes, com o simples comando

$ dbf –csv 1CLIENTS.csv 1CLIENTS.dbf

pude converter de dBase para .csv, podendo assim posteriormente abrir no OpenOffice.org, editar e organizar os campos.
Obs: –csv tem dois traços. O WordPress junta esses dois traços em um só, por isso ficou errado acima

Depois disso foi só modelar o banco de dados usando o PowerArchitect, criar as tabelas no phpMyAdmin, organizar tudo no OpenOffice e importar os arquivos .csv com os dados pelo phpMyAdmin.

Obs: Existe uma forma mais simples de converter o .dbf para .csv, que é abrindo o .dbf diretamente pelo OpenOffice.org Calc e salvando como .csv. Porém, fazendo isso alguns campos não ficaram tão corretos para mim. Então, preferi usar o .csv gerado pelo pacote chamado dbf.

Adeus Symantec Q&A.
Fiz uma boa ação ao mundo ;)

Deixe uma resposta