2009-08-20 4 views
10

Je viens d'avoir une belle base de données Access, donc la première chose que je veux faire est de le déplacer vers un système de gestion de base de données normal (sqlexpress), mais le only solution j'ai trouvé des bruits de folie.Comment exporter une base de données Access entière vers SQL Server?

N'existe-t-il pas un bouton "export database to .sql" quelque part? J'ai environ 50 tables et cette exportation peut s'exécuter plus d'une fois donc ce serait génial si je n'avais pas à exporter toutes les tables manuellement. Générer un fichier .sql (avec création de tables et insertions) serait aussi génial car cela me permettrait de garder ça sous contrôle de version.

Je suppose que si ce n'est pas possible de faire quelque chose de simple comme ça, j'apprécierais des pointeurs pour faire quelque chose de similaire.

Répondre

27

Existe-t-il une raison pour laquelle vous ne souhaitez pas utiliser Management Studio et spécifiez Microsoft Access comme source de données pour votre opération Importer des données? (Base de données-> Tâches-> Importer, Microsoft Access comme source de données, fichier mdb comme paramètre). Ou y a-t-il une raison pour laquelle cela doit être fait depuis Microsoft Access?

+1

Aucune raison, sauf le fait que je ne savais pas qu'il y avait une telle option disponible :) – marcgg

4

Il existe un outil du groupe SQL Server - SQL Server Migration Assistant for Access (SSMA Access) Il y a eu des commentaires indiquant qu'il s'agit d'un meilleur outil que l'Assistant de migration inclus dans Access.

+0

Je suis un fan de la SSMA pour Access 4.2, et a récemment vu une annonce d'une nouvelle version. –

+0

Je l'ai utilisé sur quelques bases de données maintenant et c'est un jeu d'enfant. –

+0

Lien est maintenant mort, redirige vers la page SQL Server 2012. – Zoey

1

Un moyen rapide et sale à Upsize tables Jet/ACE à un moteur de base de données ODBC accessible:

  1. créer une source de données ODBC pour votre base de données.

  2. Dans Access, sélectionnez une table et choisissez EXPORT dans le menu Fichier. Choisissez ODBC comme type, puis sélectionnez votre DSN.

Ceci exportera la table et ses données avec les types de données que votre pilote ODBC indique comme étant les plus compatibles avec les types de données Jet/ACE. Il ne devinera pas nécessairement correctement, et c'est pourquoi vous ne le feriez probablement pas avec SQL Server (pour lequel il existe des outils qui traduisent mieux). Mais avec des bases de données non-SQL Server, cela peut être un excellent point de départ.

+1

Cela ne ferait probablement pas les index ou les relations si. –

+0

N'est-ce pas la même solution qu'il essaie d'éviter? (voir le lien Uniquement Solutions). Je ne sais pas pourquoi il pensait que ce serait si fou. – JeffO

Questions connexes