Migrando banco de dados Access para SQLite
Este tutorial trata de como migrar um banco de dados Access para uma plataforma que possa ser executa em um ambiente GNU-Linux.
#0 – Introdução
Um banco de dados Access tem basicamente três artefatos a serem migrados:
-
o banco de dados em si
-
formulários
-
macros que utilizam dados do formulário e manipulam o banco de dados
A primeira opção seria migrar tudo para o Base do OpenOffice. É uma opção válida, que dá menos trabalho para o desenvolvedor (desde que ele saiba utilizar as macros do OpenOffice), mas neste tutorial utilizaremos uma abordagem diferente, assumindo que para o usuário final uma “aplicação pronta” é mais confortável, ou seja, o usuário não precisa saber utilizar o Base (assim como não precisaria saber o Access). Dessa forma também se esconde do usuário detalhes não tão interessantes, como as estruturas das tabelas, e além disso, fica mais fácil garantir a integridade dos dados (evita-se mais facilmente que o usuário altere dados de forma inconsistente).
Uma primeira opção seria migrar o banco de dados para MySQL, e posteriormente fazer o formulário/macros com uma linguagem tipo PHP.
Do ponto de vista do desenvolvedor, isso pode ser bem tranquilo, principalmente pelo fato de a interface gráfica ser feita em HTML.
No entanto, não será muito agradável ao usuário que antes apenas dava dois cliques para o abrir o banco de dados, se ele tiver que agora instalar o apache e configurar o banco de dados!
Então a solução aqui é explorada é o modelo de aplicação stand alone, em que o banco de dados fica armazenado em um mero arquivo, que é acessado por uma aplicação desktop.
Para esta aplicação stand alone o banco de dados escolhido foi o SQLite e a linguagem de programação para manipula-lo Java.
#1 – Exportando o banco
Seja qual for o destino da migração, o primeiríssimo passo é obter a estrutura do banco de dados, ou seja, as tabelas.
Para isso, primeiro:
$sudo apt-get install mdbtools
Para exportar a estrutura do banco de dados basta fazer:
$mdb-schema [banco_de_dados.mdb] > [exportado.sql]
Pronto, a estrutura está salva no arquivo exp.sql em código SQL, que utilizaremos mais tarde.
Neste caso, salvamos apenas a estrutura, mas há formas também de salvar os dados, sendo uma delas:
$mdb-export [banco_de_dados.mdb] [nome_da_datbela] > [exportado.csv ]
Isto gera um arquivo CSV, que nada mais do que uma planilha que pode ser facilmente visualizada no Calc ou mesmo em um editor ASCII (Gedit, Kate etc)
Obs: para saber quais são as tabelas existentes você pode consultar o arquivo SQL gerado ou fazer:
$mdb-tabales [banco_de_dados.mdb]


