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.
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:
Elegimos el fichero de la base de datos Access que queremos migrar a MySQL. Previamente la hemos tenido que guardar en local:
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:
Seleccionamos las tablas del Access que queremos migrar:
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):
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).
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.
Pingback: Migrar a Wordpress » galder.net
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»?
Hola Tomás,
Sí mira, en los comentarios verás un pingback desde el artículo siguiente.
Lo puedes seguir aquí:
http://www.galder.net/2007/09/17/migrar-a-wordpress/
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!
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
Excelente tutorial! funciona perfectamente!
Gracias Brother, Funciona al 100%, migre un base de datos de acces de mas de 1GB, funcionó a la primera
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.
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)
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
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
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.
gracias muy buen aporte para la exportacion de bd´s
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…
No te imaginas lo que llevo buscando algo como esto y bien explicado jajaja. Me has alegrado el verano, colega.
Ánimo!
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?
compa e has salvado la vida eso justamente lo que ando buscando lo probare aver que tal (y)
muy buen posts
Hola,
Me estoy pasando al php desde asp y esto ha sido básico.
Gracias por tu contribución.
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!
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,
Muy claro tu manuel
felicidades
Muchisimas gracias man!! me re sirvio!!
Muy bueno funciona. aunque las primary keys no pasan pero funcional genial
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).
GENIO!
Q buna idea de buscar las tareas jajajajajajajajaajajajajajajajaja