Jak wyeksportować dane z SQL Server do pliku CSV
W tym artykule zostaną wyjaśnione różne sposoby eksportowania danych z SQL Server do pliku CSV. W tym artykule zostaną omówione następujące metody:
- Eksport danych z serwera SQL do pliku CSV za pomocą kreatora eksportu serwera SQL
- Eksport danych z serwera SQL do pliku CSV za pomocą narzędzia bcp
- Eksport danych z serwera SQL do pliku CSV za pomocą usługi SQL Server Reporting Services (SSRS) w narzędziach SQL Server Data Tools (SSDT) w ramach Visual Studio
- Eksportuj dane SQL Server do CSV za pomocą opcji ApexSQL Complete Copy results as CSV
Eksportuj dane SQL Server do CSV za pomocą kreatora eksportu SQL Server
Jednym ze sposobów eksportu danych SQL Server do CSV jest użycie kreatora importu i eksportu SQL Server. Przejdź do SQL Server Management Studio (SSMS) i połącz się z instancją SQL. W Eksploratorze obiektów wybierz bazę danych, kliknij prawym przyciskiem myszy i z menu kontekstowego w podmenu Zadania wybierz opcję Eksportuj dane:
Otworzy się okno powitalne Kreatora importu i eksportu SQL Server:
Kliknij przycisk Dalej, aby przejść do eksportu danych.
W oknie Choose a Data Source wybierz źródło danych, z którego chcesz skopiować dane. W naszym przypadku w rozwijanym polu Data source wybieramy SQL Server Native Client 11.0. W rozwijanym polu Server name wybieramy instancję SQL Server. W sekcji Authentication wybieramy authentication for the data source connection, a w Database drop down box wybieramy bazę danych, z której będą kopiowane dane. Po ustawieniu wszystkiego naciśnij przycisk Next:
W oknie Choose a Destination określ lokalizację dla danych, które zostaną skopiowane z SQL Servera. Ponieważ dane z bazy SQL Server zostaną wyeksportowane do pliku CSV w rozwijanym polu Destination wybierz pozycję Flat File Destination. W polu File name należy określić plik CSV, do którego zostaną wyeksportowane dane z bazy SQL Server i kliknąć przycisk Next:
W oknie Specify Table Copy or Query, pobierz wszystkie dane z tabeli/widoku wybierając przycisk radiowy Copy data from one or more tables or views lub określ, które dane zostaną wyeksportowane do pliku CSV poprzez napisanie zapytania SQL wybierając przycisk radiowy Write a query to specify the data to transfer. Dla tego przykładu wybrano opcję Kopiuj dane z jednej lub wielu tabel lub widoków. Aby kontynuować, naciśnij przycisk Dalej:
W oknie Konfiguruj miejsce docelowe pliku płaskiego wybierz z listy rozwijanej Tabela źródłowa lub Widok źródłowy tabelę lub widok do eksportu danych do pliku CSV:
Aby zobaczyć, które dane zostaną wyeksportowane do pliku CSV, kliknij przycisk Podgląd. Pojawi się okno Dane podglądu z danymi, które zostaną wyeksportowane:
Jeśli jesteś zadowolony z danych podglądu, kliknij przycisk Dalej, aby kontynuować eksport danych. Pojawi się okno Zapisz i uruchom pakiet. Należy pozostawić ustawienia bez zmian i kliknąć przycisk Dalej:
Okno Complete Wizard pokazuje listę wyborów, które zostały dokonane podczas procesu eksportu:
Aby dane z serwera SQL zostały przeniesione do pliku CSV, należy nacisnąć przycisk Zakończ. W ostatnim oknie wyświetlana jest informacja o tym, czy proces eksportu zakończył się sukcesem, czy też nie. W tym przypadku proces eksportu został zakończony sukcesem:
Na poniższym obrazku widoczny jest plik ExportData.csv w Excelu oraz w Notatniku widoczny jest plik z wyeksportowanymi danymi:
Kreator importu i eksportu SQL Server można uruchomić bez użycia SSMS, należy przejść do startu i wpisać słowo „Export”, z wyników wyszukiwania wybrać 64-bitową lub 32-bitową wersję Kreatora importu i eksportu SQL Server:
Eksport danych SQL Server do CSV za pomocą narzędzia bcp
Narzędzie bcp (bulk copy program) służy do kopiowania danych pomiędzy instancją SQL Server a plikiem danych. Za pomocą narzędzia bcp użytkownik może eksportować dane z instancji SQL Server do pliku danych lub importować dane z pliku danych do tabel SQL Server.
Aby rozpocząć eksport danych SQL do pliku CSV, należy najpierw otworzyć Wiersz poleceń (cmd), przejść do Start i wpisać cmd, a następnie kliknąć na element Wiersz poleceń:
Pojawi się okno Command Prompt:
Następnie wpisujemy bcp ? i wciskamy klawisz Enter, aby sprawdzić, czy wszystko działa jak należy. W naszym przypadku pojawia się błąd:
Jak widać w oknie z komunikatem błędu, brakuje pliku msodbcsql13.dll. Aby rozwiązać ten problem, należy pobrać i zainstalować Microsoft ODBC Driver 13 for SQL Server.
Teraz, gdy w oknie Command Prompt zostanie wykonane polecenie bcp ? pojawi się następująca informacja:
Powyższy ekran pokazuje wszystkie różne przełączniki, które mogą być użyte w narzędziu bcp. Użyjmy więc niektórych z tych przełączników i wyeksportujmy dane SQL Server do CSV.
W oknie Wiersza poleceń wpisz słowo bcp, a następnie nazwę tabeli SQL, z której należy wyeksportować dane, wpisując następujące kroki, najpierw wpisz nazwę bazy danych, która zawiera tabelę, z której chcesz wyeksportować dane, a następnie kropkę. Po kropce wpisujemy nazwę schematu tabeli, po nazwie schematu wpisujemy kropkę i po kropce wpisujemy nazwę tabeli, która zawiera dane do eksportu (np. AdventureWorks2014.Person.AddressType):
Po nazwie tabeli SQL należy wcisnąć klawisz spacji i wpisać słowo out:
out kopiuje dane z tabeli bazy danych lub widoku do wskazanego pliku.
Istnieje również polecenie queryout, które kopiuje dane z zapytania SQL do wskazanego pliku.
Komenda in kopiuje dane z pliku do wskazanej tabeli bazy danych.
Po poleceniu out należy dodać lokalizację pliku CSV, w którym zostaną umieszczone dane z tabeli SQL, na przykład (C:\TestExportData.csv)
Teraz, gdy plik csv jest określony, istnieje jeszcze kilka przełączników, które należy uwzględnić, aby wyeksportować dane SQL Server do pliku CSV.
Po pliku CSV wpisujemy przełącznik -S oraz nazwę instancji SQL Server, do której chcemy się podłączyć (np. WIN10\SQLEXPRESS):
Następnie wpisujemy przełącznik -c, a po nim przełącznik -t, aby ustawić terminator pól, który będzie oddzielał każdą kolumnę w eksportowanym pliku. W przykładzie zostanie użyty separator w postaci przecinka ( , ):
Na końcu należy wpisać przełącznik określający sposób dostępu do serwera SQL. Jeśli ustawiony jest przełącznik -T, oznacza to, że do dostępu do serwera SQL zostanie użyta metoda zaufana (uwierzytelnianie Windows). W przypadku uwierzytelniania SQL, użyj przełącznika -U dla użytkownika SQL Server i -P dla hasła użytkownika SQL Server.
W tym przykładzie zostanie użyte połączenie zaufane (przełącznik -T):
Teraz po naciśnięciu klawisza Enter pojawi się podobny komunikat z informacją o skopiowanych danych:
Aby potwierdzić, że dane ze wskazanej tabeli zostały skopiowane do pliku CSV, należy przejść do lokalizacji, w której plik został utworzony, w naszym przypadku będzie to C:Test:
I otworzyć plik ExportData.csv:
Eksport danych SQL Server do CSV za pomocą SQL Server Reporting Services (SSRS) w SQL Server Data Tools (SSDT) w Visual Studio
SSRS pozwala zapisać wyeksportowane dane w jednym z następujących formatów PDF, Excel, XML, MHTML, Word, CSV, PowerPoint i TIFF.
Aby rozpocząć tworzenie projektu serwera raportów należy najpierw otworzyć SSDT. Przejdź do menu Plik i w podmenu Nowy wybierz opcję Projekt:
W sekcji Business Intelligence wybierz pozycję Reporting Services i po prawej stronie wybierz opcję Kreator projektu serwera raportów:
Uwaga: W każdym przypadku, gdy opcje Business Intelligence lub Report Server Project Wizard nie pojawiają się, należy zaktualizować SSDT o szablony Business Intelligence. Więcej na ten temat można znaleźć na stronie Download SQL Server Data Tools (SSDT).
W polu Name wpisz nazwę projektu (np. ExportData), a w polu Lokalizacja wybierz miejsce, w którym projekt zostanie utworzony:
Po ustawieniu tych parametrów naciśnij przycisk OK, pojawi się okno Kreator raportów, naciśnij przycisk Dalej, aby kontynuować:
Pojawi się okno Wybierz źródło danych:
W polu Connection string można wpisać ciąg połączenia do bazy danych SQL Server, na podstawie którego będzie można utworzyć raport lub nacisnąć przycisk Edit w oknie Select the Data Source i w oknie Connection Properties ustawić ciąg połączenia do żądanej bazy danych, jak z poniższego obrazka, i nacisnąć przycisk OK:
Będzie to w polu Connection string w oknie Select the Data Source. Naciśnij przycisk Next, aby kontynuować ustawienia:
W oknie Design the Query, określ zapytanie do wykonania w celu uzyskania danych do raportu. Istnieją dwa sposoby na uzyskanie zapytania do wykonania. Jednym z nich jest skorzystanie z kreatora zapytań poprzez kliknięcie przycisku Konstruktor zapytań w oknie Projektowanie zapytania:
Drugim sposobem jest wpisanie żądanego zapytania w polu Ciąg zapytania:
Po ustawieniu zapytania kliknij przycisk Dalej. W oknie Select the Report Type pozostawiamy ustawienia domyślne i naciskamy przycisk Next:
W oknie Design the Table pozostawiamy wszystko tak jak jest i naciskamy przycisk Next:
W oknie Completing the Wizard pokazane są wszystkie kroki/ustawienia, które są podejmowane podczas procesu tworzenia raportu. W celu utworzenia raportu należy nacisnąć przycisk Zakończ:
Po naciśnięciu przycisku Zakończ, zostanie wyświetlony utworzony raport. W zakładce Podgląd należy kliknąć przycisk Eksportuj i z menu wybrać w jakim formacie zostaną wyeksportowane wygenerowane dane (np.CSV):
Eksportuj dane SQL Server do CSV za pomocą opcji ApexSQL Complete Kopiuj wyniki jako CSV
Kopiuj kod jako to funkcja w ApexSQL Complete, dodatku do SSMS i Visual Studio, która kopiuje dane z siatki Wyniki do schowka w jednym z następujących plików danych: CSV, XML, HTML za pomocą jednego kliknięcia.
W edytorze zapytań wpisz poniższy kod i wykonaj:
USE AdventureWorks2014SELECT at.* FROM Person.AddressType at
W siatce wyników zostaną wyświetlone następujące wyniki:
W siatce Wyniki należy zaznaczyć część lub wszystkie dane, kliknąć prawym przyciskiem myszy i z menu kontekstowego, w podmenu Kopiuj wyniki jako, wybrać polecenie CSV:
Dzięki temu wybrane dane z siatki Wyniki zostaną skopiowane do schowka. Teraz wystarczy już tylko utworzyć plik, do którego należy wkleić skopiowane dane:
Kod ApexSQL Complete Copy jako opcja może zaoszczędzić bardzo dużo czasu, gdy trzeba skopiować powtarzalne dane SQL do innego formatu danych.
Zobacz także:
- Importowanie i eksportowanie danych masowych za pomocą narzędzia bcp (SQL Server)
- Uruchomienie kreatora importu i eksportu SQL Server
- Narzędzia do obsługi danych SQL Server
- Tworzenie podstawowego raportu tabelarycznego (SSRS Tutorial)
4 października 2017
.