21/8/11

Migrar o manipular una base de datos de MySQL a Access


Cuando era estudiante y llevaba materias de bases de datos, el ver las tablas como tablas hacía complicado el trabajo, sin embargo cuando uno veía las tablas como conjuntos, era sencillo pensar en uniones, intersecciones, diferencias y otras operaciones de conjuntos.

Nunca se me hizo difícil la materia de bases de datos, al contrario se me hacía un poco aburrida y sin grandes retos, a pesar que me dejaban tareas de realizar consultas complicadas, siempre encontraba la manera de realizarlas (no siempre de la mejor manera pero salían).

En el aspecto profesional tuve alguna vez un trabajo donde mi labor era administrar una base de datos, no era la gran cosa, la base de datos estaba en Access pero estaba creciendo y la iban a migrar a Oracle (eso creo ya no estuve para esa migración).

Durante ese lapso de tiempo me acostumbre a realizar consultas en Access, seguramente muchos lo odian, pero en mi caso era lo único que tenía. Actualmente estoy trabajando con una base de datos que se encuentra en MySQL pero las consultas ya no las puedo hacer directamente en SQL porque no tengo la práctica que tenía cuando era estudiante, además no tengo el tiempo para ponerme a escribir sentencias SQL, decidí utilizar un manejador de bases de datos para hacer las consultas de forma visual. Después de buscar y descargar algunos programas me di cuenta que ninguno cumplía mis expectativas porque yo estaba esperando que fueran igual que Access al cual más o menos recordaba.

Debo decir que mi licencia de Office incluye  Access 2007 y para dejar de buscar pues mejor comienzo a utilizarlo, pero ahora el reto era ¿cómo pasar mis tablas a Access para poder consultarlas? A continuación describo los pasos a seguir para resolver el problema.


Pasar tablas de MySQL a Access para poder realizar consultas de forma gráfica

Fue necesario descargar un driver para hacer la conexión entre MySQL y Access, este driver es para ODBC y se encuentra en la siguiente dirección:


Se debe seleccionar ODBC Driver for MySQL (conector/ODBC), después de descargar hay que instalar.

Después de instalado debemos abrir el panel de control y dirigirnos a Herramientas administrativas, ahí existe la opción “Orígenes de datos ODBC” el cual debemos abrir.



En la pestaña de DSN de usuario agregamos un Origen de datos (suena feo, pero así es la traducción literal que le dio Microsoft). Seleccionamos el driver o controlador MySQL que está casi al final de la lista y le decimos finalizar.

En la ventana de configuración debemos llenar los siguientes campos:
Data Source Name: Debemos poner el nombre como conoceremos el conector a la base de datos.
Descripción: Colocamos un breve texto que describa la base de datos.
TCCP/IP Server: Aquí va la dirección IP en la cual se aloja la base de datos.
Port: Colocamos un puerto disponible por el cual nos podemos conectar, por default coloca el puerto 3306, pero puedes poner otro.
User: Nombre de usuario de la base de datos.
Password: Contraseña de usuario que escribimos arriba.
Database: El nombre de la base de datos con la que haremos la conexión.


Probamos nuestra conexión con el botón Test, si hubiera un error puedes probar con otro puerto o verificar el nombre de usuario y contraseña de la base de datos.

Hasta aquí está configurado el conector para la base de datos, ahora es necesario abrir Access 2007 para poder consultarla.


Dentro de Access 2007 en la parte superior hay una pestaña con el título Datos externos que contiene un botón con la leyenda Bases de datos ODBC que al presionarlo nos muestra una ventana con 2 opciones:
Importar el origen de datos  en una nueva tabla de la base de datos actual o vincular al origen de datos creando una tabla vinculada. La primer opción crea las tablas en Access en caso de no existir, sin embargo los cambios en la Base de datos origen (en nuestro caso MySQL) no se reflejarán en las tablas creadas en Access, mientras que la segunda opción se crea el vínculo de tal manera que cualquier cambio en Access a las tablas, se reflejará en la base de datos original (en nuestro caso MySQL) y viceversa.

Una vez seleccionada la opción que más nos convenga le decimos Aceptar y nos mostrará una ventana para seleccionar el conector que creamos con anterioridad, le damos clic en Origen de datos de equipo y lo seleccionamos.

Ya para terminar seleccionamos las tablas que deseamos importar a Access y le decimos Aceptar

No hay comentarios: