Jak wyeksportować dane z arkusza kalkulacyjnego Excel do tabeli Sql Server 2008

Chcę zaimportować dane z pliku Excel - Załóżmy Excel 2003/.xls-to SQL Server 2008.

Próbowaliśmy dodać serwer połączony do sterownika dostępu JET OLE DB i oczywiście nie powiodło się to na 64-bitowej maszynie. Ale kiedy próbuję upuścić połączony serwer podczas eksperymentów, pojawia się kolejny błąd mówiący,że połączony serwer już / nadal istnieje!

Próbowałem również zmienić sterownik Excela na 32-bitowy (narzędzie regedit), ale nie jestem pewien, czy coś robi, ten sam błąd nadchodzi!

Więcej Szczegółów: Powiedzmy, że Table1 w pliku Excel ma 5 kolumn. Chcę mapować do bazy danych.dbo.Table1 z 5 kolumnami ponownie, ale z różnymi nazwami w tabeli. Czy jest jakiś sposób, aby w ogóle zrobić taki import?

Author: Loser Coder, 2010-08-13

4 answers

Z SQL Server Management Studio otwierasz Object Explorer, przechodzisz do bazy danych, do której chcesz załadować dane, klikasz prawym przyciskiem myszy, a następnie wybierasz zadania > Importuj dane.

Otwiera Kreator importu danych, który zazwyczaj działa całkiem dobrze przy importowaniu z programu Excel. Możesz wybrać plik Excel, wybrać arkusz roboczy do zaimportowania danych, możesz wybrać tabelę do przechowywania i jakie będą kolumny. Bardzo elastyczny.

Możesz to uruchomić jednorazowo, możesz też zapisać go jako pakiet SQL Server Integration Services (SSIS) do systemu plików lub do samego serwera SQL i wykonywać go w kółko (nawet zaplanowane do uruchomienia w danym czasie, przy użyciu agenta SQL).

Update: Tak, Tak, Tak, możesz robić wszystkie te rzeczy, o które ciągle prosisz - próbowałeś chociaż raz uruchomić tego kreatora??

OK, zaczyna się-krok po kroku:

Krok 1: Wybierz swój Excel Źródło

Tutaj wpisz opis obrazka

Krok 2: wybierz docelową bazę danych SQL Server

Tutaj wpisz opis obrazka

Krok 3: Wybierz swój arkusz źródłowy (z programu Excel) i tabelę docelową w bazie danych SQL Server; zobacz przycisk" Edytuj mapowania"!

Tutaj wpisz opis obrazka

Krok 4: Sprawdź (i zmień, w razie potrzeby) swoje odwzorowania kolumn Excela do kolumn SQL Server w tabeli:

Tutaj wpisz opis obrazka

Krok 5: jeśli chcesz użyć go później, Zapisz swój pakiet SSIS na SQL Server:

Tutaj wpisz opis obrazka

Krok 6: - sukces! To jest na 64-bitowej maszynie, działa jak urok - po prostu to zrób!!

 85
Author: marc_s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-28 15:17:08

Istnieje kilka narzędzi, które mogą importować Excel do SQL Server.

Używam DbTransfer (http://www.dbtransfer.com/Products/DbTransfer) do wykonania zadania. Koncentruje się przede wszystkim na przesyłaniu danych między bazami danych a excel, xml itp...

Próbowałem wcześniej metody openrowset i SQL Server Import / Export Assitant. Ale okazało się, że te metody są niepotrzebne i podatne na błędy w constraście, aby zrobić to za pomocą jednego z dostępnych dedykowanych narzędzi.

 2
Author: Michael Geller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-04 19:03:03

W SQL Server 2016 kreator jest oddzielną aplikacją. ( Ważne: Kreator Excela jest tylkodostępny w 32-bitowej wersji kreatora!). Użyj strony MSDN dla instrukcji:

On the Start menu, point to All Programs, point toMicrosoft SQL Server , and then click Import and Export Data.
—or—
In SQL Server Data Tools (SSDT), right-click the SSIS Packages folder, and then click SSIS Import and Export Wizard.
—or—
In SQL Server Data Tools (SSDT), on the Project menu, click SSIS Import and Export Wizard.
—or—
In SQL Server Management Studio, connect to the Database Engine server type, expand Databases, right-click a database, point to Tasks, and then click Import Data or Export data.
—or—
In a command prompt window, run DTSWizard.exe, located in C:\Program Files\Microsoft SQL Server\100\DTS\Binn.

Po tym powinien być prawie taki sam (prawdopodobnie z niewielkimi zmianami w interfejsie użytkownika) jak w odpowiedzi @marc_s.

 1
Author: Nikita G.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-11 21:24:55

Alternatywą jest kilka narzędzi internetowych, które konwertują pliki Excel na pliki SQL.

Https://sqlizer.io wytworzy plik definicji tabeli, a następnie wszystkie dane jako instrukcje insert, a następnie można go po prostu zaimportować do SQL Server Management Studio (Plik > Otwórz > plik... w SQL SMS) - lub do dowolnej innej bazy danych zgodnej z SQL.

Oto zdjęcie:

SQLizer.io gotowy do konwersji xlsx do sql

 1
Author: a_good_swan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-06 11:52:28