2009-08-20 13 views
10

Właśnie dostałem piękną bazę danych Access, więc pierwszą rzeczą, którą chcę zrobić, to przenieść ją do normalnego systemu zarządzania bazami danych (sqlexpress), ale only solution Znalazłem dźwięki przypominające szaleństwo.Jak wyeksportować całą bazę danych programu Access do programu SQL Server?

Czy nie ma "bazy danych eksportu" do .sql "przycisku? Mam około 50 tabel i ten eksport może działać więcej niż jeden raz, więc byłoby wspaniale, gdybym nie musiał eksportować wszystkich tabel ręcznie. Generowanie pliku .sql (z tworzeniem tabel i wstawkami) byłoby również świetne, ponieważ pozwoliłoby mi zachować to pod kontrolą wersji.

Zgaduję, że jeśli nie można zrobić czegoś takiego prostego, doceniłbym wszelkie wskazówki, aby zrobić coś podobnego.

Odpowiedz

27

Czy istnieje powód, dla którego nie chcesz używać Management Studio i określić Microsoft Access jako źródło danych dla operacji importu danych? (Baza danych-> Zadania-> Import, Microsoft Access jako źródło danych, plik mdb jako parametr). Czy jest jakiś powód, aby to zrobić z poziomu Microsoft Access?

+1

Nie ma powodu, z wyjątkiem faktu, że nie wiedziałem, że taka opcja jest dostępna :) – marcgg

4

Istnieje narzędzie z grupy SQL Server - SQL Server Migration Assistant for Access (SSMA Access) Istnieją komentarze stwierdzające, że jest to lepsze narzędzie niż Kreator rozbudowy dołączony do programu Access.

+0

Jestem fanem SSMA dla programu Access 4.2, a ostatnio zobaczyłem ogłoszenie nowej wersji. –

+0

Używałem tego w kilku bazach danych teraz i jest to proste. –

+0

Link już nie działa, przekierowuje na stronę SQL Server 2012. – Zoey

1

Szybkie i-brudny sposób rozbudować tabele Jet/ACE do każdego silnika bazy danych ODBC dostępne:

  1. tworzenia ODBC DSN dla bazy danych.

  2. w programie Access, wybierz tabelę i wybierz EKSPORT z menu Plik. Wybierz ODBC jako typ, a następnie wybierz swój DSN.

Spowoduje to wyeksportowanie tabeli i jej danych za pomocą typów danych, które sterownik ODBC wskazuje, są najbardziej zgodne z typami danych Jet/ACE. To niekoniecznie musi odgadnąć, i prawdopodobnie nie zrobiłbyś tego z SQL Server (dla których są narzędzia, które lepiej tłumaczą). Ale w przypadku baz danych innych niż SQL Server może to być doskonałe miejsce początkowe.

+1

To prawdopodobnie nie spowoduje indeksów ani relacji. –

+0

Czy to nie to samo rozwiązanie, którego próbuje uniknąć? (patrz link "Tylko rozwiązania"). Nie wiem, dlaczego czuł się tak szalony. – JeffO

Powiązane problemy