2009-08-20 19 views
10

Acabo de obtener una base de datos de Access encantadora, así que lo primero que quiero hacer es moverlo a un sistema de administración de base de datos normal (sqlexpress), pero el only solution que he encontrado suena como una locura.¿Cómo exportar una base de datos de Access completa a SQL Server?

¿No hay un botón "base de datos de exportación en .sql" en alguna parte? Tengo alrededor de 50 tablas y esta exportación podría ejecutarse más de una vez, por lo que sería genial si no tuviera que exportar todas las tablas manualmente. Generar un archivo .sql (con creación e inserciones de tablas) también sería excelente, ya que me permitiría mantenerlo bajo control de versiones.

Supongo que si no es posible hacer algo tan simple como este apreciaría cualquier apuntador para hacer algo similar.

Respuesta

27

¿Hay algún motivo por el que no desee utilizar Management Studio y especifique Microsoft Access como fuente de datos para su operación de importación de datos? (Base de datos-> Tareas-> Importar, Microsoft Access como origen de datos, archivo mdb como parámetro). ¿O hay una razón por la que debe hacerse desde Microsoft Access?

+1

No hay razón, excepto el hecho de que no sabía que había una opción disponible :) – marcgg

4

Hay una herramienta del grupo de SQL Server - SQL Server Migration Assistant for Access (SSMA Access) Ha habido comentarios que indican que es una herramienta mejor que el Asistente de Upsizing incluido en Access.

+0

Soy un fanático de SSMA para Access 4.2, y recientemente vi un anuncio de una nueva versión. –

+0

Lo he usado en algunas bases de datos ahora y es muy fácil. –

+0

Link está muerto ahora, redirige a la página de SQL Server 2012. – Zoey

1

Una manera rápida y sucia-upsize tablas Jet/ACE a cualquier motor de base de datos ODBC accesible:

  1. crear un DSN de ODBC para su base de datos.

  2. en Acceso, seleccione una tabla y elija EXPORTAR en el menú de archivo. Elija ODBC como tipo y luego seleccione su DSN.

Esto exportará la mesa y sus datos con los tipos de datos que el controlador de ODBC indica son más compatibles con los tipos de datos Jet/de la ECA. No necesariamente va a adivinar correctamente, y es por eso que probablemente no haría esto con SQL Server (para lo cual hay herramientas que hacen mejor traducción). Pero con las bases de datos que no son de SQL Server, este puede ser un excelente punto de partida.

+1

Sin embargo, esto probablemente no haría los índices ni las relaciones. –

+0

¿No es esta la misma solución que intenta evitar? (ver el enlace Only Solutions). No estoy seguro de por qué sentía que sería tan loco. – JeffO

Cuestiones relacionadas