Como posso converter um ficheiro MDB (Access) para o MySQL (ou um ficheiro SQL simples)?

é possível criar um Dump de comandos SQL a partir de uma base de dados de Acesso Microsoft? Espero converter este arquivo MDB em um banco de dados MySQL para importação para que eu não tenha que passar pelo passo CSV.

eu esperaria que mesmo um arquivo MSSQL dump ainda contivesse comandos SQL viáveis, mas eu não sei nada de MSSQL, por favor me avise.

Author: Fionnuala, 2011-04-20

12 answers

Deseja converter o mdb para o mysql (transferência directa para o mysql ou o dump do mysql)?

Tente um software chamado Acesso ao MySQL.

O Access to MySQL é um pequeno programa que irá converter as bases de dados Microsoft Access para MySQL.

    Interface do Assistente.
  • transferir dados directamente de um servidor para outro.
  • criar um ficheiro de despejo.
  • seleccione as tabelas a transferir.
  • Seleccione os campos a transferir.
  • transferir bases de dados protegidas por senha.
  • suporta segurança partilhada e segurança ao nível do utilizador.
  • transferência facultativa de índices.
  • transferência facultativa de registos.
  • transferência facultativa de valores por defeito nas definições de campos.
  • identifica e transfere tipos de campos de números automáticos.
  • Interface da linha de comandos. Instalação fácil, desinstalação e actualização.

Ver a ligação acima referida para um tutorial passo a passo com imagens.

 66
Author: Teson, 2016-06-06 12:16:35

Se tiver acesso a uma caixa linux com o mdbtools instalado, poderá usar este programa da shell Bash (gravar como mdbconvert.sh):

#!/bin/bash

TABLES=$(mdb-tables -1 $1)

MUSER="root"
MPASS="yourpassword"
MDB="$2"

MYSQL=$(which mysql)

for t in $TABLES
do
    $MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done

mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB
done
Para invocá-lo, basta chamá-lo assim:
./mdbconvert.sh accessfile.mdb mysqldatabasename

Importará todas as tabelas e todos os dados.

 34
Author: Nicolay77, 2014-11-15 02:42:24

Modifiquei o programa por Nicolay77 para enviar a base de dados para o 'stdout' (a forma habitual dos programas unix) para que eu pudesse enviar os dados para o ficheiro de texto ou encaminhá-los para qualquer programa que quisesse. O script resultante é um pouco mais simples e funciona bem.

Alguns exemplos:

./to_mysql.sh database.mdb > data.sql

./to_mysql.sh database.mdb | mysql destination-db -u user -p

Aqui está o programa modificado (gravar para to_mysql.sh)

#!/bin/bash
TABLES=$(mdb-tables -1 $1)

for t in $TABLES
do
    echo "DROP TABLE IF EXISTS $t;"
done

mdb-schema $1 mysql

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t
done
 22
Author: mikkom, 2015-10-21 01:01:27

Ferramentas de base de dados gratuitas não exportem relações de Tabela , mas podes usar isto: converter o acesso do MS ao MySQL com relações

Funciona bem e exporta todas as relações para o MySQL.

enter image description here

 7
Author: Ivan Cachicatari, 2014-06-11 15:44:25

Tente os Serviços de transformação de dados da microsoft

 5
Author: , 2011-04-19 20:57:24

Tenta o Assistente de dados para o MySQL. É uma ferramenta para converter estrutura e dados de qualquer fonte compatível ADO (por exemplo, MS Access) para bases de dados MySQL. Veja um breve guia para os textos de ligação para compilar o texto de ligação ao seu ficheiro de acesso do MS.

 5
Author: Tihonov Eugene, 2011-05-03 05:55:40

Nós usamos a base de dados do FSE converte muitas vezes para este propósito EXACTO. O DTS era muito instável. E as recomendações sobre a página MySQL estavam lamentavelmente desactualizadas.

 4
Author: Michael Pryor, 2011-04-19 21:03:25

Os utilizadores do OSX podem seguir Nicolay77ou mikkomque usa o mdbtools utilitário. Você pode instalá-lo via Homebrew. Basta ter o seu homebrew instalado e depois ir

$ homebrew install mdbtools

Então crie um dos scripts descritos pelos caras e use-o. Usei o da mikkom, converti todos os meus ficheiros mdb em sql.

$ ./to_mysql.sh myfile.mdb > myfile.sql

(que a cabt contém mais de 1 Tabela)

 4
Author: Egor Guriyanov, 2017-05-08 10:29:36

Usei o SQLyog Ultimate para importar dados do ficheiro mdb, foi um processo muito fácil.

Poderá ter de instalar esta ferramenta de suporte.

Motor da Base de dados de acesso do MS

E baixar o SQLyog Ultimate abaixo

Escolha SQLYog, você pode usar a versão de teste para isso

 2
Author: Harsha, 2016-10-24 08:39:45

Uso um Mac faço isto para converter;

  1. Obter o ACCDB MDB Explorer http://accdb-mdb-explorer.en.softonic.com/mac
  2. Abra o ficheiro MDB
  3. Exportar como SQL
  4. Importar no MySQL usando a bancada de trabalho do MySQL.
 1
Author: Dilip Rajkumar, 2015-11-10 19:09:14

Esta ferramenta mac O Visualizador MDB / ACCDB funcionou bem para as minhas necessidades. Teste gratuito deixe-me provar que tudo fez o necessário, e exportou metade de todas as filas. Foi necessária uma versão completa para que todo o db/tables fosse exportado.

 1
Author: petednz - fuzion, 2017-06-23 04:28:18

Se não estiver muito preocupado com a privacidade do the .arquivos mdb que você quer converter, por favor saiba que este site me permitiu recuperar dois 15 anos de idade .bases de dados de acesso ao mdb (lembra-se dos velhos tempos em que o ASP governava a web? em apenas dois minutos: http://www.mdbopener.com/

As bases de dados foram convertidas em ficheiros Excel, com uma folha para cada tabela. Era mesmo o que eu precisava. Não poderia ter sido mais rápido para recuperar meus (Muito) dados antigos...

As identificações que estão a ser mantidas cada tabela, era tão fácil como qualquer coisa para converter isso novamente para mysql (depois de salvá - lo para o formato CSV) - novamente, em apenas alguns minutos.

 0
Author: barakadam, 2017-08-28 22:59:48