Home > Articulos & Tutoriales, Desarrollo, SQL Server > Migración de datos desde Access a SQL Server 2005

Migración de datos desde Access a SQL Server 2005


Anteriormente los costos de licenciamiento de SQL Server eran elevados en comparación con los de Access pero con la salida de SQL Server 2005 Express Edition muchas empresas han empezado a trabajar con esta excelente herramienta y poco a poco se van vendo beneficiados de los cientos de ventajas que trae este motor de base da datos con respecto a herramientas similares tales como Access y las hechas por otros fabricantes. Actualmente bastantes empresas y personas trabajan con Access como motor de almacenamiento de datos, aunque es una muy buena herramienta de productividad carece de bastantes funciones y accesibilidades que trae el “Todopoderoso” SQL Server 2005.
Junto a SQL Server 2005 tenemos una pequeña herramienta que nos ayuda a migrar bases de datos desde Access 97-2003 a SQL Server 2005, conocida como SQL Server Migration Assistant for Access (SSMA).
SSMA para Access convierte los objetos de Access a objetos de SQL Server, básicamente copia los objetos en SQL Server y luego migra los datos de Access a SQL Server.
El SSMA para Access esta disponible para descarga en este link:
Descarga SSMA Para Access

Instalación del SSMS para Access
Al descargar el archivo y ejecutarlo se presenta un wizard cuyo objetivo es instalar la aplicación mediante una serie de sencillos pasos:



___________________________________________________ 


Al finalizar la instalación vemos en el escritorio y en “Inicio/Programas/Microsoft SQL Server Migration Assistant for Access/” la herramienta “Microsoft SQL Server Migration for Access” instalada y lista para en nuestra maquina.

_______________________________________________

Proceso de Migracion


Al inciar la aplicación se nos presenta un cuadro de dialogo solicitando la licencia de activación de la herramienta.

________________________________________________________

__________________________________________________________

 Al hacer clic en “license registration page” automáticamente nos re direcciona al “SQL Server Migration Assistant for Access (SSMA) License Registration”, en donde luego de llenar algunos datos se descarga un el archivo de la licencia llamado “acces-ssma.license” que no pesa mas de 3KB, luego de descargarlo lo referenciamos en el cuadro de texto de “License Directory” y hacemos clic en “Refresh License” para de esta forma registrar e iniciar el trabajo con el SSMA.

Una vez arranca el SSMA se presenta el “Migration Wizard”, este asistente será el encargado de guiarnos en el proceso de migración.


Una vez iniciado vamos a crear un proyecto SSMA. Primero escogemos el nombre y la ubicación del mismo.



Agregamos la base de datos al proyecto desde alguna ubicación física.


De igual forma podemos buscar bases de datos de Access a través del botón “Find Database”, en esta nueva ventana suministraremos ciertos criterios de búsqueda (path, tamaño, fecha de creación, etc.) y el ayudante automáticamente busca las bases de datos correspondientes segun los parametros dados.

Una vez seleccionada la base de datos el ayudante identifica los objetos de la misma procedemos a seleccionar los objetos que deseemos migrar a SQL Server 2005.

Ya seleccionados los objetos a migrar el ayudante nos preguntara los datos del servidor tales como: Nombre del servidor, Base de datos y Autenticación. Una vez suministrada y aceptada esta información el ayudante inicia la migración.

El proceso de migración consiste en: Convertir los objetos, cargarlos a la base de datos y migrar los datos, acá se lleva a cabo el proceso de conversión y migración de los datos, al finalizar se presenta un reporte de los resultados si fueron exitosos o se presentaron problemas.

Por ultimo podemos observar los objetos y los datos listos para trabajar en el SQL Server Management Studio y/o desde la interfaz del SSMA.

Como podemos ver la interfaz del asistente tiene un explorador de meta data tanto de Access como de SQL Server.
Como pudimos observar el proceso de migración utilizando esta herramienta fue muy sencillo y rápido, esta herramienta es el complemento ideal para el Mangement Studio Express.

Adicionalmente existen herramientas similares a esta para migrar desde Oracle y Sybase

Recomiendo mirar el Portal de Migracion de SQL Server 2005 en donde pueden descargar esta y otras herramientas relacionadas copn este tema.

Gerardo Ramos

Microsoft Student Partner

MCTS – SQL Server 2005

  1. August 2, 2007 at 5:30 am

    Excelente herramienta Gerardo,despues de algunos dias sin poder trabajar con ella por fin encontre la solucion,lo que me faltaba era poner el nombre de la base de datos donde iban a ser migrados los objetos.

    Gracias por compartir esta excelente herramienta

    Noelin

  2. Gerardo
    August 2, 2007 at 9:26 am

    Ok Noelin, que bueno que hayas resuelto tu problema, espero que disfrutes esta herramaienta y le saques provecho.

    Exitos!!!

    Gerardo Ramos
    Microsoft Student Partner

  3. Santiago
    August 13, 2007 at 12:19 pm

    Que tal Gerardo,
    gracias por la información. Me fue de mucha utilidad para realizar la migración a SQL 2005

  4. Leonardo
    August 23, 2007 at 10:48 am

    Estoy interesado en traspasar la base de access a sql 2005.
    Ya baje el SSMA y lo probaré.
    Luego te cuento.

    Pero, al margen de traspasar los datos de una plataforma a la otra. El asunto es que el software que se usa con la base está diseñado para bases access.

    ¿Es posible seguir trabajando en el mismo programa , con los datos guardados en SQL2005.?

    Una idea que se me ocurre es usar una estructura temporal, en access vinculadas a SQL2005.

    Gracias.

  5. Gerardo
    August 27, 2007 at 11:37 pm

    Que tal Leonardo:

    Una vez hecha la migracion a Sql Server 2005 hay 2 opciones, puedes modificar la aplicacion para que ahora consulte la base de datos de SQL o la opcion q tu me dices, no conozco muy bien acces pero estoy seguro q entre ambas herramientas puedes encontrar la solucion.

    Exitos!!!!

    Gerardo Ramos
    Microsoft Student Partner

  6. Ulber
    September 16, 2007 at 9:45 pm

    Que tal amigos…

    Tengo un problema al intentar migrar una base de datos de access a otra en sql server express. No carga la base de datos, el mensaje de error es el siguiente:

    Access Object Collector error: Database
    Unable to cast COM object of type ‘dao.DBEngineClass’ to interface type ‘dao._DBEngine’. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{00000021-0000-0010-8000-00AA006D2EA4}’ failed due to the following error: Error al cargar la biblioteca de tipo/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).
    An error occurred while loading database information.

    Les estare muy agradecido por su valiosa cooperacion para resolver mi problema.

    • Carlos
      September 22, 2009 at 12:35 pm

      Alguien ha encontrado la solución al error de Ulber? Estoy desesperado ya que tengo el mismo error

  7. Marcelo
    October 4, 2007 at 7:44 am

    Querido Gerardo:
    Esto del sql express ha sido una bendicion para los que trabajamos con base de datos demasiado grande en info, que al pasar un cierto tamaño access se vuelve un poco inestable.
    Mi consulta es la siguiente:
    la base de datos que migre a sql es alimentada por otra igual(en access) que me envian todos los meses con los datos a anexar a la ya creada, como hago para anexar de acces a sql, me das una ayuda please el soft esta en visual basic 6.0

    Gracias Genio

  8. Daniel
    October 18, 2007 at 7:58 pm

    Hola gente:

    Con un compañero de tesis estamos desarrollando una aplicación que trabaja con access. Todo bien hasta que empazamos a acceder a la base de datos desde distintas instancias de la aplicación.

    ¿Es Sql Server Express 2005 la solución a nuestros problemas?

    Ojalá que el motor maneje cola de acceso a la base de datos para que nuestra aplicación no esté mandando excepciones en operaciones críticas.

    Muchas gracias

  9. Susana
    October 19, 2007 at 7:48 am

    Que tal Gerardo,

    Esta herramienta me ha venido de maravilla, pero la base de datos access que he convertido tiene alrededor de unas 200 consultas aparte de las tablas, la tablas me las ha convertido todas OK, pero de las consultas solo 128. El mensaje de error que me da en muchas de ellas es “Errors: A2SS0046: Update query cannot be converted because it is not supported.”
    ¿Hay alguna forma de seguir, sin tener que convertirlas a mano?

    Muchas gracias

  10. October 22, 2007 at 6:52 pm

    Que tal Susana, no habia escuchado de ese error, se me ocurre que puede ser que algunas de las sentencias consultas de Access que te presentan problema no estan soportadas en MSSQL te recomiendo que las pruebes en Access y en MSSQL antes de migrarlas para verifique que esten funcionando Bien.

    Gerardo Ramos
    Microsoft Student Partner

  11. October 22, 2007 at 6:54 pm

    Como va Daniel, posiblemente access no soporte el acceso desde distintas instancias, he trabajado con SQL Server y le puedo asegurar que esta situacion no se presenta, esta herramienta le va a permitir manejar multiples accesos a la Base de datos sin ningun problema.

    Exitos!!!!

    Gerardo Ramos
    Microsoft Student Partner

  12. Adria
    October 29, 2007 at 6:13 pm

    Gracias!!!! Despues de tanto batallar, gracias a tu ayude pude solucionar mi problema, me gusto excelente herramienta… Saludos!! 🙂

  13. jose antonio
    December 9, 2007 at 5:58 pm

    esta herramienta es la que estaba buscando es justo para que no se me haga tan tedioso crear la base de datos directamente en en sqlserver con esto directo al excel no mas chevere saludoss!!!!!!!!!

  14. Lincoln Felix
    January 29, 2008 at 9:56 am

    Para corrigir o Erro: Unable to cast COM object of type ‘dao.DBEngineClass’ …

    1 – Renomeie a DLL “dao360.dll” para dao360.dll
    2 – Repare a instalação do Microsoft Office

    Boa Sorte!!!

  15. Lincoln Felix
    January 29, 2008 at 10:06 am

    Desculpe o correto é:

    Para corrigir o Erro: Unable to cast COM object of type ‘dao.DBEngineClass’ …

    1 – Renomeie a DLL “dao360.dll” para dao360_old.dll
    2 – Repare a instalação do Microsoft Office

    Boa Sorte!!!

  16. Ricardo
    March 18, 2008 at 8:14 am

    Hola Gerardo:
    Tengo un problema con la licencia por que no tengo internet en casa, alguna solución rapida a este problema?

  17. Daniel
    July 17, 2008 at 9:44 am

    Hola Gerardo:
    Soy un novato en esto de la migración, y quiero preguntar por un error que me aparace a la hora de migrar un base de access 2003 a SQL 2005, le agradeceria mucho su ayuda:

    Connection to SQL Server Failed

    An error has ocurred while establishing a connection to the server. When connecting to SQL server 2005. This failure may be caused by the fact that under the default settings SQL server does not allow remote connections.(provider:named Pipes Provider. error:40-Could not open a connection to SQL Server)

    por su atencio, gracias.

  18. July 17, 2008 at 12:32 pm

    Que tal Daniel, por lo que veo tu SQL Server no permite conecciones remotas, hay que activarselas, en este link puedes encontrar como habilitar esta opcion, espero q te sirva.

    http://support.microsoft.com/kb/914277/es

    Saludos

    Gerardo Ramos
    Microsoft Student Parrner

  19. Ellil
    August 12, 2008 at 7:14 am

    buenos días gerardo que tal, ya instale la herramienta e ise los pasos correspondiente, pero cuando va a realizar la autenticación con el servidor no la hace ó no lo consigue, yo tengo instalado el SQLEXPRESS en mi máquina y alli mismo estoy realizando la migración que debo hacer para que se conecte y culmine el proceso de migracion

    gracias

  20. albert
    September 8, 2008 at 8:32 am

    A mi lo que me gustaria averiguar es como migrar una base de datos realizada en Access 2007 con extension .accdb a SQL 2005. Con el asistente no me deja, ya que no reconoce la extensión.

    Alguien me podria dar una pista de como solucionarlo?

    Gracias

  21. ramiro
    September 9, 2008 at 8:31 am

    hola quisiera saber si cuando una hace la migracion de access a sql 2005 hay algun problema con las query ?

  22. Rolando Obregón
    November 15, 2008 at 1:04 pm

    Hola Gerardo.
    Muy buena la informacion que me proporcionaste, me saco de muchos apuros. Excelentisima

  23. December 30, 2008 at 4:26 pm

    hola .. mira quiero entrar a la pagina de la licencia pero no esta disponible.. tenes idea que puede ser

    • December 30, 2008 at 5:12 pm

      Que tal Matias

      descarge y subi la licencia en mi skydrive puedes acceder a el en este link

      saludos y feliz 2009

      Gerardo Ramos – Microsoft Student Partner

  24. Adolfo
    February 5, 2009 at 6:59 pm

    saludos mi problema es ke al comensar con la migracion me aparece el siguiente mensaje
    This version of the SQL Server is not supported. You must connect to an instance of SQL Server 2005.

    me pueden ayudar

    gracias salu2…

    • February 7, 2009 at 9:30 am

      Que tal Adolfo

      Por lo visto estas trabajando co0n una version de SQL Server no compatible con esta herramienta, pensaria yo que es sql server 2000, para conocer que version estas trabajando te recomiendo este articulo http://support.microsoft.com/kb/321185/es.
      Puedes traer los datos directamente desde SQL Server 2000 en Herramientas > Utilidades de la base de datos > Asistente para convertir a SQL Server.
      Te recomiendo entrar al porta de migracion de SQL Server aca.

      Gerardo Ramos
      Microsoft Student Partner

  25. Favi
    March 17, 2009 at 1:51 pm

    Que tal…
    Soy nueva en esto de las bases de datos…
    tengo un proyecto, para realizar un interfaz entre varias bases de datos de diferentes porgramas, por medio de SQL
    se que hay dos formas de programar un es con el asistente por medio de tablas que ya solo se el pone nombre y especificaciones y otra es tipo C++ con sentencias y campos, porfavor quisiera ayuda urgentemente!! ya que en esto del SQL estoy en cero
    Si me pudieran decir donde descargar manuales, tutoriales gratis, o algo que me pueda ser útil
    Gracias saludos
    por cierto muy buen foro…

  26. March 20, 2009 at 7:56 pm

    muchas gracias Gerardo, exelente material y explicacion. voy a probrar lo tengo que hacer en una empresa y soy principiante me gustaria contactarte por si me queda aluguna duda . Claudiodg200@hotmail.com

  27. John
    April 14, 2009 at 9:49 am

    Hola Gerard,

    Soy nuevo en esto de las bases y la verdad quiero migrar una base que por el momento copie de forma local a mi PC y cuando le doy el usuario y el password(porque creo que es local) en teoria debe de entrar con mi usuario de red cierto??? o si hago algo mal me podrias decir???

    Gracias

  28. MASO
    May 1, 2009 at 3:54 pm

    hola ya hice la migración de la base de datos de access a sql2005, me funcionó muy bien, incluso cualquier dato que modifique en sql se ve reflejado en access. ahora lo que quiero es que cualquie dato que modifique en la base de datos de acces se vea reflejado en sql, es decir ya cuando hice este paso las tablas de acces quedaron bloqueadas y no puedo cambiar ningun dato,
    gracias

  29. Jorge
    December 17, 2009 at 10:06 am

    Gracias Amigo, se que me será de mucha ayuda, DIOS Te Bendiga hasta pronto bye

  30. jose
    May 31, 2010 at 6:43 pm

    hola amigo, por que cuando hago click en el link para descargar el archivo en la pagina que me enlasa me sale un mensaje

    Lo sentimos, no se puede encontrar la página solicitada.

    y necesito esa herramienta urgente porfa ayudame

  31. Carola
    August 19, 2010 at 12:12 pm

    hola!… tampoco se mucho pero ya estoy conectada desde el SSMA a mi .mdb y sql server. Al cargar las tablas y querys del .mdb arroja este error

    Access Object Collector error: Database
    Index and count must refer to a location within the string.
    Parameter name: count
    An error occurred while loading database information.

    …y hasta aquí llegué porque no se donde bucar ni mirar….

  32. Manu
    October 2, 2010 at 12:03 pm

    Hola amigos.
    No se si me podreis ayudar con este problema.
    Quiero migrar tablas y consultasde Access 2003 a Sql Server 2005.
    El sistema operativo sobre el cual trabajo es Windows 7 64 bits.

    Cuando selecciono en la herramienta de migración cualquier base de datos access no me aparecen para seleccionar las tablas ni las consultas y me muestra este error siempre:

    Error occurred while loading children.
    Access Object Collector error: Database
    No se puede cargar el archivo o ensamblado ‘Microsoft.Office.Interop.Access.Dao, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ ni una de sus dependencias. El sistema no puede encontrar el archivo especificado.
    Error occurred while loading children.

    • October 3, 2010 at 9:59 pm

      Que tal Manu

      Parece ser un problema de compatibilidad con la arquitetura de 64 bits, pero viendo el error, este indica que no encuentra un assembly Version=12.0.0.0 es decir de office 2007, si esta trabajando con office 2007, mejor intente la migracion con office 2003.

      Para mas info puede ir a http://www.microsoft.com/sqlserver/2005/en/us/migration-access.aspx

  33. david
    May 17, 2011 at 8:47 am

    Gerardo :

    Que tal Manu
    Parece ser un problema de compatibilidad con la arquitetura de 64 bits, pero viendo el error, este indica que no encuentra un assembly Version=12.0.0.0 es decir de office 2007, si esta trabajando con office 2007, mejor intente la migracion con office 2003.
    Para mas info puede ir a http://www.microsoft.com/sqlserver/2005/en/us/migration-access.aspx

    Estimados… me sale un error en la migracion…
    There is nothing to process.
    Access Object Collector error: Database
    No se puede cargar el archivo o ensamblado ‘Microsoft.Office.Interop.Access.Dao, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c’ ni una de sus dependencias. El sistema no puede hallar el archivo especificado.
    Error occurred while loading content.
    no comprendo la naturaleza… son bases de datos en access 97 hacia sql 2005.. con una maquina de x86 y SO xp…

    si me pudieran orientar… gracias!!! muy buenos datos!!!

  34. June 28, 2011 at 9:47 am

    El ssma no me funciona debido a que no encuentra un fihero:
    Microsoft.Office.Interop.Access.Dao, Version=12.0.0.0
    que no se de donde descargar. es el ensamblado, dice.

    • June 29, 2011 at 4:38 pm

      Lo q indica es q al parecer no tienes instalado office 2007, esa version del WIzard solo funciona para office 2007.

  35. Elda
    October 7, 2011 at 10:22 pm

    Muchisimas gracias por este gran aporte hace tiempo andaba buscando como migrar una base de datos de Access para SQL. Y Gracias a ti lo he encontrado y he podido usar el software que esta jevisimo y me funciono de maravilla, al principio no podia migrar pero luego inicie el ssma con permisos de administrador y el proceso se realizo de inmediato. Muchas Gracias Gerardo

  36. May 8, 2009 at 10:59 am

    Muy buen aporte. Gracias

  1. May 1, 2007 at 8:27 pm

Leave a comment