Migrar de Microsoft Access a MySQL

Migrar de Microsoft Access a MySQL es una necesidad bastante común. Hace años se usaba mucho ASP frente a PHP, y mucha base de datos Microsoft Access frente a MySQL. Recuerdo que en la universidad te enseñaban ASP y no PHP, aunque todo fue cambiando.

Migrar de Microsoft Acess a MySQL

Si bien hay muchos detractores de MySQL, y usan otras bases de datos como PostgreSQL, lo cierto es que Microsoft Access es para lo que es y no para usar en web u otras cosas.

Lo cierto es que mi humilde experiencia me dice que el tandem PHP y MySQL da un gran rendimiento.

Vayamos al grano, la cosa es que unos amigos de una organización me comentaron para que les echase una mano con una nueva web.

La web actual la realicé yo hace muchos años, creo que era el año 2000, y utiliza ASP con una base de datos de Microsoft Access.

Lo que tenía claro es que tenía que ser una web hecha con software libre, y la mayoría de esos paquetes (WordPress, Joomla, etc…) utilizan MySQL.

¿Pero que mejor para una web que pretende ser dinámica que utilizar WordPress? Si recomiendo WordPress para empresas, por qué no para organizaciones de todo tipo?

Así que debía buscar una forma para pasar todo de Microsoft Access a MySQL. Alguna vez en operaciones similares lo hice creando un script ASP que mostrase un montón de INSERT INTO… y luego pegar estas en el PHPMyAdmin, pero estoy ya poco ducho en ASP, y no tengo el Internet Information Server instalado.

Y encontré un software eso sí de Windows que lo hacía de forma fácil, se trata del Access to MySQL de la empresa Bullzip, que es un producto gratuito, que no libre.

Tras instalarlo, lo ejecutamos:

MS Access to MySQL

Elegimos el fichero de la base de datos Access que queremos migrar a MySQL. Previamente la hemos tenido que guardar en local:

Elegimos la base de datos Microsoft Access

Podemos generar un archivo con todas las instrucciones para ejecutar en nuestro MySQL y crear la base de datos, o bien dejarla directamente en un sistema MySQL remoto, que es lo que he hecho yo:

Base de datos MySQL de destino

Seleccionamos las tablas del Access que queremos migrar:

Seleccionamos tablas de Microsoft Access

Y ahora nos salen las opciones, en las que yo no andaría mucho, le daría a las que salen por defecto y adelante (Next):

Valores por defecto del MySQL

Nos mostrará el resultado. Si todo ha ido bien ya tendremos los datos de nuestra vieja base de datos Access en MySQL, ahora sólo falta usar esos datos vía PHP o MySQL (u otras) para lo que queramos.

En mi caso es para pasarlo a WordPress así que he hecho un programilla para desde la estructura creada con la migración crear los posts automáticamente. Pero eso os lo comento otro día… 😉

Actualización: Migrar a WordPress (Segunda parte, dónde se explica cómo crear los posts a partir de la base de datos).

Technorati Tags: , ,

27 pensamientos en “Migrar de Microsoft Access a MySQL

  1. Andrés Borbón

    Muchas gracias. Has hecho un tutorial muy claro y explícito. La migración entre bases de datos es uno de esos temas peliagudos con los que uno no quisiera tener nunca qué ver.
    Gracias.
    Andrés.

  2. Pingback: Migrar a Wordpress » galder.net

  3. Tomàs Fabregat

    Hola,
    Estaba buscando la manera de pasar una base de datos Access a Mysql para convertirla luego a WordPress cuando he dado con tu noticia. Tengo solucionado el paso a Mysql pero no el paso a WordPress.
    Resulta que tu articulo se acaba justo en el punto clave: cómo aprovechar los registros de la base de datos para convertirlos utomáticamente en “posts” de WordPress.
    Me has dejado intrigado. Has resuelto el “programilla para desde la estructura creada con la migración crear los posts automáticamente”?

  4. Ainhoa

    Aupa Galder!

    Hau emaile irakurtzen baldin baduzu, ia erantzuten baduzu, eta emailez komunikatzen garen. Informatikako ikasle bat naiz,eta zure laguntza posible izango zalakoan nau.
    Eskerrik asko!

  5. jchongs80

    Este manual sera de gran ayuda. Voy a hacer un sistema de busqueda online de la biblioteca del instituto, y la base de datos esta en access, y necesito migrarlo a Mysql… vamos a ver como me va. Gracias de antemano

  6. Alejandro

    buenas, ojala esten bien, mi caso es que necesito meter una tabla de access “hoja_2” sobre una tabla de mysql “peso_placa” en una db llamada horno, como le hagoles agradesco la ayuda.

  7. MAX

    OYE UNA FAVOR ME APARECE ESTE MENSAJE AL FINAL
    QUE HAGO????
    ALGUIEN QUE ME ECHE LA MANO..
    Error connecting to destination database.
    Connection: Provider=MSDASQL.1;Driver={MySQL ODBC 5.1 Driver};Extended Properties=”SERVER=localhost;UID=;PWD=;PORT=3306;OPTION=0;STMT=;”
    Program Version: 3.0.0.117
    ODBC Version: 5.1.6.0
    Function: modMySql.MoveData2MySql
    Error: -2147467259
    Reason: [MySQL][ODBC 5.1 Driver]Can’t connect to MySQL server on ‘localhost’ (10061)

  8. geryzory

    muy bueno aunque tengo una duda en la ventana para la transferencia me sale inhabilitado direct transfers, y no lo puedo habilitar me podrias decir el por que pasa eso.
    y felicidades grandioso tutorial me ayudara mucho

  9. Roberto

    Hola, me ha paercido muy intresante este post, pero tengo una duda sobre la migración, con éste método consegiumos migrar las tablas de Access a mysql, pero, ¿sería posible migrar también las consultas y vistas, o eso he de hacerlo de forma manual?

    Muchas gracias

  10. polo

    Me agrego a la pregunta de Roberto del dia 21/07/2010

    Ya que encontrar herramientas para pasar las bases de datos relativamente es faciel (Lo tuyo es perfecto y me ha funcionado de maravilla.) Pero el tema de las consultas ya creadas, no he encontrado forma de realizarlo.

    Muchas Gracias y felicidades por tu post.

  11. JuanM

    Muy bueno… me saco de un gran apuro…
    Y eso de access es para algo peque no hay MYSQL mezclado con un poquito de Ajax y java y mañitas que uno aprende en el camino. Buen POST…
    Donde doy puntos??? jajja…

  12. XtreMeJavi

    No te imaginas lo que llevo buscando algo como esto y bien explicado jajaja. Me has alegrado el verano, colega.

    Ánimo!

  13. roberto

    Hola estoy trabajando en un proyecto personal yo utilizo joomla.

    tengo una base de datos en access, y necesito pasar la estructura a mysql. con este programita de bullzip pasa la estructura? o solo los datos?

  14. Daniel Aréchiga

    Apenas me enfrenté a la necesidad de hacer una migración de este tipo, busco en Google, la primer opción que abro es esta, perfectamente explicada y que parece que resuelve lo que necesito.

    Ya probaré la utilería, pero se ve extremadamente sencilla y que cubre lo que necesito. Gracias por la información!

  15. Juan Acosta

    Muy bueno, funcional, al principio no me funciono, al que le dio el error por arriba en su comentario, que revise el puerto que realmente usa en my.ini, yo tuve el mismo problema y lo solucione cambiando el puerto, que no era ni 3306 ni 10000, el resto todo super, gracias mil,

  16. ANTONIO

    necesito de su ayuda,,

    tengo una base de datos en access, pero necesito una aplicacion para visualizacion y consulta, me ofrecen una por php via mysql, pero requiero que sea access la base proncipal de la informacion,

    mi pregunta es puedo confiar en que la aplicacion que me hagan en PHP, pueda tener interrelacion entre access-php (MYSQL) Y PUEDA VISUALIZAR, CONSULTAR Y EDITAR LA MISMA BASE DE DATOS (ACCESS).

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *