PostHeaderIcon 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]

 



 

O PoliGNU é um grupo formado por estudantes de diversos cursos da Escola Politécnica que se dedicam ao desenvolvimento e à divulgação do software livre, especialmente no que se relaciona à engenharia. O grupo já tem mais de um ano de existência, e é aberto à participação de quaisquer interessados.

Reuniões

Nossas reuniões (quase) semanais acontecem às quintas-feiras, a partir das 17h, no Escritório Piloto. Participe!