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
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
Ok Noelin, que bueno que hayas resuelto tu problema, espero que disfrutes esta herramaienta y le saques provecho.
Exitos!!!
Gerardo Ramos
Microsoft Student Partner
Que tal Gerardo,
gracias por la información. Me fue de mucha utilidad para realizar la migración a SQL 2005
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.
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
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.
Alguien ha encontrado la solución al error de Ulber? Estoy desesperado ya que tengo el mismo error
He probado reinstalando Office, instalando Service Pack, cambiando el dao360.dll de nombre y reinstalando.
Cualquier ayuda sería de bienvenido.
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
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
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
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
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
Gracias!!!! Despues de tanto batallar, gracias a tu ayude pude solucionar mi problema, me gusto excelente herramienta… Saludos!! 🙂
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!!!!!!!!!
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!!!
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!!!
Hola Gerardo:
Tengo un problema con la licencia por que no tengo internet en casa, alguna solución rapida a este problema?
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.
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
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
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
hola quisiera saber si cuando una hace la migracion de access a sql 2005 hay algun problema con las query ?
Hola Gerardo.
Muy buena la informacion que me proporcionaste, me saco de muchos apuros. Excelentisima
hola .. mira quiero entrar a la pagina de la licencia pero no esta disponible.. tenes idea que puede ser
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
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…
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
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…
Que tal Favi
mira para ello te recomiendo en primera medida este post que hice sobre el acceso a datos desde ASP.NET https://gerardoramosun.wordpress.com/2007/04/18/acceso-a-datos-con-visual-web-developer/
Tambien te recomiendo el portal de desarrollo de asp.net http://msdn.microsoft.com/en-us/asp.net/default.aspx y este par de links
http://www.elguille.info/Net/ADONET/ejemploSQL.htm
http://www.elguille.info/NET/ADONET/cadena_de_conexion_para_conectar_a_una_base_de_sql_server.htm
slds
Gerardo Ramos
Microsoft Student Partner
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
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
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
Gracias Amigo, se que me será de mucha ayuda, DIOS Te Bendiga hasta pronto bye
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
Que tal Jose efectivamente el link no funciona, puedes descargarlo desde aca http://www.microsoft.com/downloads/details.aspx?FamilyId=4ECD1E67-C64E-49E6-821E-C4D83D9D5FED&displaylang=en
Salaudos.
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….
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.
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!!!
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.
Lo q indica es q al parecer no tienes instalado office 2007, esa version del WIzard solo funciona para office 2007.
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
Muy buen aporte. Gracias