Es posible crear un Volcado de comandos SQL de una base de datos Microsoft Access? Espero que para convertir este archivo MDB en una base de datos MySQL para la importación, así que no tiene que ir a través de la CSV paso.

Yo esperaría hasta un MSSQL archivo de volcado para contener todavía viable comandos SQL, pero yo no sé nada de MSSQL, por favor hágamelo saber.

InformationsquelleAutor Bryan Field | 2011-04-19

13 Comentarios

  1. 71

    Desea convertir mdb para mysql (transferencia directa a mysql o mysql dump)?

    Trate de un software llamado Acceso a MySQL.

    Acceso a MySQL es un pequeño programa que se va a convertir Bases de datos Microsoft Access a MySQL.

    • Interfaz de asistente.
    • De transferencia de datos directamente desde un servidor a otro.
    • Crear un archivo de volcado.
    • Seleccionar tablas para transferir.
    • Seleccione los campos de la transferencia.
    • De transferencia de contraseña de las bases de datos protegidas.
    • Admite tanto la seguridad compartida y la seguridad a nivel de usuario.
    • Opcional transferencia de índices.
    • Opcional de transferencia de registros.
    • Opcional transferencia de valores por defecto en las definiciones de campo.
    • Identifica y transferencias auto número de tipos de campo.
    • Interfaz de línea de comandos.
    • Fácil de instalar, desinstalar y actualizar.

    Ver el enlace anterior para un paso a paso tutorial con capturas de pantalla.

    • actualización: he paralizado abajo la versión gratuita. search&reemplazar las obras para los más pequeños de las migraciones aunque..
    • Funciona para la nueva .accdb formato de Acceso por el camino
    • Sólo añadir que, la versión actual del programa no funciona correctamente (al menos eso es lo que yo era capaz de concluir). No es de dumping archivo correctamente (lo que provoca una gran cantidad de errores cuando se desee importar) y conexión directa a la base de datos (incluso en el localhost) no está funcionando.
    • Si usted tiene el sistema operativo de 64 bits, se necesita un controlador ODBC de 32 bits. dev.mysql.com/downloads/connector/odbc
    • Tengo alrededor de que al guardar el archivo de Access como un *.mdb de Acceso (2000-2003) a través de «Guardar y Publicar» en el menú.
    • 7+ años más tarde, y este programa es útil (y mantenido!)
    • Trabajó mucho en un archivo grande. Creada en sql archivo sin necesidad de tener el controlador ODBC.

  2. 43

    Si usted tiene acceso a una máquina linux con mdbtools instalado, puede utilizar esta Bash shell script (guardar 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 invocar simplemente llame así:

    ./mdbconvert.sh accessfile.mdb mysqldatabasename

    Va a importar todas las tablas y todos los datos.

    • Un millón de gracias por el script. Sólo dos consejos, supongo que se le puede quitar la AWK y GREP revendedores y he añadido las opciones de -b strip -H a mdb-export porque tenía unos extraños objetos OLE en el mdb y ya que los encabezados se cargan antes. Supongo que en algunos casos -b octal podría funcionar bien, pero tuve problemas con el binario de datos cuando se carga en mysql.
    • Yo voy a importar tablas con espacios en el nombre, y esto no funciona para mí. He tenido que añadir IFS=$(echo -en "\n\b") después de que el shebang.
    • Impresionante! logró exportar MDB a MySQL en Mac. lo único que me encontré fue la Tabla de nombres con espacios, pero fijo por poner: $MYSQL -u $MUSER -p$MPASS $MDB -e «DROP TABLE IF EXISTS `$t`» y mdb-exportación -D ‘%Y-%m-%d %H:%M:%S » – I mysql $1 «$t» | $MYSQL -u $MUSER -p$MPASS $MDB Y, por desgracia, tener que crear un array con los nombres de las tablas desde el ‘t en $TABLAS’ acorta por el espacio. Gracias!!
    • Hola… estoy tratando de conseguir este trabajo con una base de datos que ha % símbolos en los nombres. Soy nuevo en MySQL, pero parece que esos son un comodín para la cadena coincidente. Cualquier idea sobre cómo escapar de ellos? \% y \\% no están haciendo por mí…
    • { echo ‘set autocommit=0;’; mdb-export ... ;echo ‘commit;’ } | mysql puede ser más rápido
  3. 29

    He modificado el script por Nicolay77 a la salida de la base de datos a la salida estándar (la forma habitual de scripts unix) para que yo pudiera salida de los datos a un archivo de texto o canalizar a cualquier programa que desee. La secuencia de comandos resultante es un poco más simple y funciona bien.

    Algunos ejemplos:

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

    Aquí es la modificación de la secuencia de comandos (guardar 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
  4. 6

    Usuarios de OSX se puede seguir por Nicolay77 o mikkom que utiliza el mdbtools utilidad. Se puede instalar a través de Homebrew. Sólo tienes el homebrew instalado y, a continuación, ir

    $ homebrew install mdbtools

    A continuación, crear una de las secuencias de comandos se describe por los chicos y uso. He usado mikkom uno, convertidos todos mis archivos mdb en sql.

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

    (que por cierto contiene más de 1 mesa)

    • Las nuevas versiones de macOS/Homebrew el comando es brew install mdbtools
    • mdbtools no correctamente escapar de barras, lamentablemente, y no parece ser mantenida: github.com/brianb/mdbtools/issues/89
  5. 5

    Hemos utilizado ESF Database Convert muchas veces para este propósito exacto. DTS era generalmente demasiado descamativa. Y las recomendaciones sobre la base de la página fueron lamentablemente fuera de fecha.

    • la versión de prueba sustituye la primera letra de cada campo de texto con la letra ‘T’; licencia individual es de $219
  6. 2

    Esta herramienta de mac MDB /ACCDB Visor funcionado bien para mis necesidades. Prueba gratis permítanme demostrar que todo lo hizo necesario, y se exporta la mitad de todas las filas. La versión completa se requiere para obtener toda la base de datos/tablas exportadas.

  7. 0

    Si usted no está demasiado preocupado por la privacidad de la .mdb archivos que desea convertir, por favor, sepan que este sitio me permitió recuperar dos de 15 años de edad .mdb Acceso a bases de datos (recordar los viejos tiempos cuando ASP gobernó la web?) en apenas dos minutos : http://www.mdbopener.com/

    Las bases de datos fueron convertidos en archivos de Excel, con una hoja para cada tabla. Justo lo que necesitaba. No podía haber sido más rápido para recuperar mi (muy) datos antiguos…

    El Id se mantiene en cada mesa, era tan fácil como cualquier cosa para convertir este de nuevo para mysql (después de guardarlo en formato CSV) – de nuevo, en tan sólo un par de minutos.

Dejar respuesta

Please enter your comment!
Please enter your name here