Mostrando entradas con la etiqueta MDB. Mostrar todas las entradas
Mostrando entradas con la etiqueta MDB. Mostrar todas las entradas

domingo, 23 de agosto de 2020

Migrar MDB de Microsoft Access a SQL MySql

Si buscas como migrar una base de datos MDB de Microsoft Access a SQL de MySql, verás que existen varios métodos para realizarlo. Tras probar diferentes, el que mejor se ha adaptado a mis necesidades ha sido el que comento aquí. Eso sí, se han perdido algunas relaciones y también los comentarios en el diseño de la estructura que había en Microsoft Access.

Lo primero que hay que hacer, es tener una máquina Linux con las mdbtools, para ello:

  •  Actualiza los repositorios para obtener la lista de los últimos paquetes y sus actualizaciones: 
tu-maquina:~: sudo apt-get update -y
  •  Ejecuta la instalación del paquete mbdtools (la opción -y es para que no te pregunte más y lo haga directamente junto con todas las dependencias):
tu-maquina:~: sudo apt-get install -y mdbtools

A continuacíon para exportar el esquema o arquitectura de la base de datos a un archivo SQL, se realizaría los siguiente:

tu-maquina:~: mdb-schema <tu-base-de-datos>.mdb mysql > squema.sql

Por último, para exportar los datos a un archivo SQL junto con el esquema o arquitectura es algo más elaborado y lo realizaremos mediante el siguiente script (en mi caso lo he llamado "mdb_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

Finalmente, bastaría ejecutarlo para obtener el SQL con todos los INSERT y CREATE TABLE necesarios:

tu-maquina:~: sudo sh mdb_to_mysql.sh <tu-base-de-datos>.mdb > datos.sql

Problemas con python "/usr/bin/env &lt; &lt; python&gt;&gt;: No such file or directory "

Es posible que hayas llegado aquí por un mensaje similar al siguiente:  /usr/bin/env: <<python>>: No such file or directory   Cu...