Cómo exportar una tabla de una base de datos Microsoft Access a MySQL Server. Se exportará tanto la creación de la tabla como los datos que contiene. Explicamos también cómo acceder a una tabla MySQL desde Microsoft Access (tablas vinculadas por ODBC).

Añadir esquema en MySQL con MySQL Administrator

En primer lugar tendremos que dar de alta un nuevo esquema en MySQL Server (salvo que queramos utilizar uno ya existente). Para darlo de alta podremos instalar MySQL Administrator (herramienta gratuita de MySQL). Tras instalarlo, abriremos MySQL Administrator e introduciremos el «Server Host» (ip ó nombre de red del servidor de MySQL), el «Port» (puerto), por defecto 3306, el «Username» (nombre de usuario con suficientes permisos como para crear esquemas), el «Password» (contraseña del usuario anterior). Pulsaremos OK para conectarnos:

Inicio sesión MySQL Administrator - Exportar una tabla Microsoft Access a MySQL

En «Catalogs» pulsaremos con el botón derecho y seleccionaremos «Create New Schema»:

Crear nuevo esquema MySQL - Exportar una tabla Microsoft Access a MySQL

Introduciremos el nombre del catálogo, esquema o base de datos de MySQL, por ejemplo «ajpdsoft»:

Inicio sesión MySQL Administrator - Exportar una tabla Microsoft Access a MySQL

Instalación del Driver ODBC de MySQL y nuevo origen de datos

Tras crear el esquema en MySQL Server con MySQL Administrator, deberemos tener instalado el Driver ODBC de MySQL para crear el origen de datos ODBC que conectará Microsoft Access con MySQL.

Una vez instalado el driver ODBC nos crearemos una conexión desde «Inicio» – «Configuración» – «Panel de control» – «Herramientas administrativas» – «Orígenes de datos (ODBC)»:

Herramientas administrativas de Windows XP - Exportar una tabla Microsoft Access a MySQL

Pulsaremos en «Agregar» para añadir el nuevo origen de datos ODBC de MySQL:

ODBC MySQL - Exportar una tabla Microsoft Access a MySQL

En la lista de controladores seleccionaremos MySQL ODBC 5.1 Driver (o la versión que se haya instalado):

ODBC MySQL - Exportar una tabla Microsoft Access a MySQL

Introduciremos los siguientes datos:

  • «Data Source Name»: nombre que queramos darle a la conexión ODBC para luego poder ser referenciada, por ejemplo «ajpdsoft».
  • «Description»: descripción libre de la conexión, para poder identificarla si tenemos varias.
  • «Server»: nombre ó IP del servidor de MySQL Server, en nuestro caso «localhost».
  • «Port»: puerto de MySQL (por defecto 3306).
  • «User»: nombre del usuario con el que nos conectaremos a MySQL, en nuestro caso «root».
  • «Password»: contraseña del usuario anterior.
  • «Database»: nombre del catálogo, esquema o base de datos creada anteriormente en MySQL, en nuestro caso «ajpdsoft».

Si queremos realizar una prueba de conexión podemos pulsar en «Test», para guardar el origen de datos pulsaremos «OK»:

Origen de datos ODBC - Exportar una tabla Microsoft Access a MySQL

Exportación de la tabla desde Access a MySQL

Ahora abriremos nuestra tabla de Access, la que queramos exportar a MySQL. Pulsaremos con el botón derecho del ratón sobre la tabla a exportar, en nuestro caso «telefono», y en el menú emergente que aparece seleccionaremos «Guardar como o exportar»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Seleccionaremos «En un archivo o una base de datos externos» y pulsaremos «Aceptar»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

En la ventana de selección de base de datos, en el desplegable «Guardar como tipo» seleccionaremos «Bases de datos ODBC»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Nos pedirá el nombre de la tabla que se creará en MySQL, en nuestro caso «telefono»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Seleccionaremos el origen de datos (creado en pasos anteriores «ajpdsoft»), en la pestaña «Origen de datos de equipo» y pulsaremos «Aceptar»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Aparecerá una barra de progreso en Access, el tiempo en realizar la exportación a MySQL dependerá del tamaño de la tabla Access.

Acceso a tabla de MySQL desde Access con tabla vinculada por ODBC

Para comprobar que se ha exportado correctamente podemos utilizar MySQL Query Browser o bien vincular la tabla desde el propio Access:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Seleccionamos «Bases de datos ODBC»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Seleccionamos el origen de datos ODBC MySQL creado «ajpdsoft»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Seleccionamos la tabla exportada «telefonos» (para que no nos pida contraseña cada vez marcaremos «Guardar contraseña»):

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Si no es capaz de encontrar la clave primaria de la tabla MySQL, Access mostrará una ventana para indicarle manualmente qué campo es clave primaria. Este paso es muy importante pues si no se le indica una clave primaria la tabla vinculada no podrá ser modificada, sólo servirá a efectos de consulta. En nuestro caso, la clave primaria es «numero»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Tras vincularla podremos tratarla como si de una tabla Access se tratara, por ejemplo abrirla para ver los registros que contiene:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Desde esta ventana, al igual que si fuera Access, aparecen todas las opciones de ordenar, filtrar, buscar, imprimir, exportar, insertar, modificar, eliminar, etc. Todos los cambios que se hagan en esta tabla se aplicarán directamente a la tabla de MySQL a la que está vinculada:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Modificar estructura de la tabla exportada en MySQL

Ahora abriremos MySQL Administrator para ver la estructura de la tabla exportada, pues hay determinados tipos de datos y restricciones que no se exportan correctamente de Access a MySQL, como por ejemplo el tipo «Autoincremento» de Access.

Desde MySQL Administrator, seleccionaremos el esquema «ajpdsoft», pulsaremos con el botón derecho del ratón sobre la tabla «telefono» y seleccionaremos «Edit Table»:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Podremos cambiar aquí los tipos de datos que no se hayan exportado correctamente. Por ejemplo, la columna «numero» en Access es clave primaria, en cambio, al exportarla a MySQL no se ha marcado como clave primaria (primary key):

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

Desde MySQL Administrator podremos marcarla como clave primaria:

Exportar tabla Access a MySQL - Exportar una tabla Microsoft Access a MySQL

O ejecutando la consulta SQL:

Tecnología empleada para realizar este artículo

  • MySQL Server 4.1.
  • Windows XP SP3.
  • Microsoft Access 97.