Convertendo base de dados MS Access para MySQL
Nota importante: para ter acesso aos vídeos e arquivos exemplos deste site, adquira um dos planos apresentados abaixo. Você pode comprar em até 5x no Cartão de Crédito, através do Paypal.
Veja como comprar e saiba mais sobre o material oferecido, clicando aqui.
De Jefferson Braz
Nesse tutorial irei explicar como converter uma base de dados Access para o MySQL.
Para realizarmos a conversão utilizaremos o Bullzip MS Access to MySQL. Ele é um aplicativo que analisará a estrutura do seu banco de dados e reconstruirá a mesma em um banco de dados MySQL. Eu utilizo muito esse aplicativo, pois além de ser um dos melhores e com um funcionamento simples, ele é gratuito.
O aplicativo suporta versões de banco de dados da versão 2000 (formato .mdb) à versão 2010 (formato .accdb). A conversão não foi testada em arquivos da versão 2013, mas tudo indica que terá o respectivo suporte.
Considerando que o aplicativo irá reconstruir as tabelas, os campos serão parametrizados com base na estrutura do MySQL, como melhor se assemelham.
Por exemplo:
Se você utiliza o tipo de campo Dados Múltiplos no MS Access, é bom saber que esse tipo de campo não é suportado por outros tipos de bancos de dados, como o SQL Server e o MySQL (pelo menos não, até o momento em que escrevi esse artigo). Assim sendo, ele converterá esse tipo de campo para o tipo Varchar que é um campo do tipo binário. O mesmo ocorrerá com o campo do tipo Anexos que permite anexar mais de um tipo de arquivo. No MySQL, ele será convertido para o campo do tipo Blob long que corresponde ao campo do tipo OLE do Access.
Assim, antes de fazermos a conversão, é bom conhecer os tipos de campos que o MySQL suporta para saber como o seu banco de dados vai se comportar e não ter surpresas quanto ao funcionamento da sua aplicação.
Clique aqui para acessar o site RCOLI e veja o detalhamento de campos e suas características.
Neste tutorial, não abordarei sobre a normatização de um banco de dados. Parto do pressuposto que ao construir o seu banco de dados, você tenha levado em consideração, as práticas do bom desenvolvimento. Caso contrário, você não terá um bom desempenho na conversão, devendo ter que fazer os ajustes manuais necessários.
Então, vamos lá!
Execute o Bullzip MS Access to MySQL. A janela abaixo será exibida.
Clique em Next para iniciar a configuração de conversão.
Nota: Load Settings permite carregar dados de uma conversão que já foi iniciada.
O primeiro passo é informar qual o banco de dados será convertido. Poderá ser um arquivo no formato .mdb ou .accdb.
No entanto, se um arquivo .mdb estiver protegido em Nível de Segurança de Usuário por um arquivo .mdw, algumas configurações deverão ser feitas:
Filename: selecione o arquivo a ser convertido
System DB: selecione o arquivo .mdw, se o seu .mdb for protegido
Username: usuário do arquivo .mdw
Password: senha do banco de dados.
Ressalto que essas configurações são somente para arquivos .mdb protegidos a Nível de Usuário.
Clique em Next para prosseguir.
O próximo passo consiste em definir os dados do banco de dados MySQL:
Marque o método Direct transfer e na combobox Storage Engine, selecione a opção MyISAM e defina as seguintes configurações:
Host: host do banco de dados ou ip
Port: porta em que o MySQL foi configurado
Username: usuário do banco de dados
Password: senha do banco de dados
Database: nome da base de dados
Agora, basta informar as tabelas que serão convertidas.
Para isso é só clicar no seletor, a frente do nome da tabela.
À direita do painel, temos o botão Select All que permite selecionar todas as tabelas do seu banco de dados.
Após a seleção das tabelas, clique em Next para continuar.
Agora, definiremos as opções de transferências:
Se você já subiu alguma tabela para o banco de dados e deseja que a mesma seja recriada, assinale a opção Drop and recreat destination database. Esse comando permite que a tabela seja excluída e recriada novamente. Utilize essa opção, somente nesse caso, pois do contrário haverá risco de alterar estruturas em sua base de dados, sem que você queira.
Assinale as seguintes opções:
Transfer indexes: transfere os índices criados em sua base de dados. Contudo, vale destacar que conforme pude observar em alguns testes que fiz, nem sempre uma chave primária é recriada como chave primária. Logo, o programador precisa realizar esse procedimento manualmente. Isso será abordado em um próximo tutorial, aonde falaremos do MySQL-Front;
Transfer records: transfere os registros das tabelas. Em algumas situações os dados podem não ser transferidos, pois as estruturas de índices e chave não são recriadas no momento da conversão. Caso isso ocorra, desmarque essa opção e tente novamente;
Include column list in insert statements: inclui a lista de colunas na instrução de inserção;
Create tables: cria as tabelas selecionadas;
Unicode (utf-8): codifica os caracteres que serão utilizados no armazenamento das informações. Essa opção influencia como o MySQL irá tratar os caracteres, como ç e acentuações;
Após informar as configurações desejadas, clique em Run Now para iniciar a conversão.
Em seguida será exibido o Resultado de Conversão informando se houve algum erro ou se o processo foi realizado corretamente:
Para armazenar um script das operações realizadas, clique em Save Settings
Uma vez que o seu banco de dados tenha sido convertido, você poderá acessá-lo através do seu front-end MS Access.
O acesso ao banco de dados poderá ser feito de duas maneiras:
Via ADO/DAO: para acessar o seu banco de dados, via ADO/DAO, clique aqui
Via ODBC: para acessar o seu banco de dados, via ODBC, clique aqui
Espero que tenham gostado desse artigo.
No próximo tutorial, iremos demonstrar como trabalhar com o MySQL-Front.
YouTube
Clique aqui e visite o canal da Kartoffel no YouTube.
Jeferson Braz é programador em MS Access e Visual Basic com mais de 17 anos de experiência.
Diretor de Desenvolvimento da Kartoffel Desenvolvimento de Sistemas Ltda, empresa especializada
em Microsoft Access e CMS Joomla.
Atua no mercado de desenvolvimento de aplicações customizáveis, realizando integração MS Access
à base de dados Web e a Websites, suporte e manutenção.
Os dez artigos mais visitados
MontaRibbons v.7.0 - Assistente completo para criar ribbons no Access
Vídeo - Controle personalizado de Acesso de Usuários
Vídeo - Aprenda sobre filtragens
Vídeo - Segurança máxima, usando o OPEN
Uma ajuda para quem está começando um negócio ou um projeto
Integrando o Access com Servidor MySQL - Introdução
Desabilitando a faixa(ribbon) superior do Access
Vídeo - Programação de relatórios - Parte 1
Como carregar o seu menu sem que ele vá para lista de suplementos
Vídeo - Criando Ribbons parte 1 - Conhecendo a estrutura Xml
10 comentários Montenegro 10/07/2023 10:31:01 Aproveitando esse tema, estou tentando, sem sucesso, baixar APIs que o Banco Central disponibiliza (exemplo: https://api.bcb.gov.br/dados/serie/bcdata.sgs.11/dados?formato=csv) e carregar para uma tabela Access? Essas APIs baixam arquivos no format josn, csv, wsdl e html. Consegui fazer no Excel com CSV, mas no Access usei Controle do Navegador da WEB e na fonte de controle coloquei esse link do exemplo acima e aparece os dados no format CSV, agora o problema é carregar essas informações para uma tabela. Obrigado pelo excelente site de ajuda aos desenvolvedores Access. Um porto seguro. Bubacar 23/04/2023 13:49:48 Olha, este é de mais. Adriana Lopes 07/02/2022 16:32:07 Olá. Muito bacana seu artigo. Utilizei um aplicativo para realizar esse processo chamado FullCopyConvert. www.fullcopyconvert.com.br. Marcio Melo 28/10/2021 11:49:51 Show, gostei muito desse artigo... Estou finalizando a configuração de um server 2008 para estudar melhor sobre MySql rodando na rede local que tem um desempenho muito superior a web e com o front em access já constatei que roda igualmente em termo de velocidade aos vínculos com accdr. Uma questão que vou reavaliar é dos vínculos OBDC que se perdem. Obrigado por mais esse artigo de grande importância... Forte abraço! Sergio 27/10/2021 15:03:20 Parabéns pelo trabalho, ja namorei muito migrar meu banco para mysql e percebi nos foruns que é um assunto que sempre esta presente. Então estas informações são extramente uteis. Quando fiz a migração o meu banco ficou muito lento e tive várias dificuldades na hora de gravar os dados(front access / back mysql) e como meu banco esta funcionando bem, não estudei mais a sério o caso. Realmente meus parabéns. Abraços JBSR 27/10/2021 13:48:03 Prezado Luiz Gostaria de lembrar do enunciado dos artigos: Acessando dados da Web com o Access Não é possível uma conexão access x web com um mdb. Nem através do SharePoint isso é possível, pois o sharepoint converte o mdb em sql server. Segue abaixo, respostas as suas respostas com base no enunciado. Utilizar o banco de dados MYSQL com front-end em Access ,é recomendável para um aplicativo? Sim, pois você trabalhar com uma aplicação conectado a um banco de dados robusto. Qual seria a vantagem de utilizar o MYSQL ao invés do próprio banco do Access ? Inúmeras, principalmente para criação de aplicativos com conexão web, que não seria possível através de um .mdb/accdb. Você só consegue criar uma aplicação web/desktop através de banco de dados robustos, como o Mysql, SQL, etc, através de um ODBC local com uma base web, procedimento esse, não possivel com um banco de dados access. Luiz Galvão 27/10/2021 12:43:06 Utilizar o banco de dados MYSQL com front-end em Access ,é recomendável para um aplicativo? Qual seria a vantagem de utilizar o MYSQL ao invés do próprio banco do Access ? em tempo: Excelente site com dicas de grande utilizada Idiframk Silva 25/10/2021 10:52:13 Muito Bom Seus ensinamentos, agradeço muito você por meus conhecimento que voce nos proporcionou! Junior Wano 24/10/2021 14:11:16 Avelino e Jeferson, Fico-lhes muito agradecido, excelente material e me será de grande utilidade. Abç. MOACYR BEZERRA DOS 08/06/2020 07:51:54 Estou estudando profundamente o assunto pois um cliente me solicitou exatamente estas funcionalidades no sistema dele, que já está em uso a 25 anos... rsrsrs... Preciso modernizá-lo. |