Ćwiczenia
> Budowa bazy danych w MS SQL Server 2000 > Import i eksport danych |
![]() ![]() |
||||||||||||||
3.10 Import i eksport danych![]() W tej lekcji poznasz metodę szybkiego importu i eksportu danych między bazą danych serwera MS SQL i plikami tekstowymi. Krok 1 - Skopiuj pliki tekstowe z danymi na twardy dysk1. Z katalogu labs na płycie podręcznika skopiuj na dysk C (jeśli nie chcesz później zmieniać ręcznie ścieżek w skrypcie, koniecznie kopiuj pliki na dysk C, nie do katalogów) pliki:- autorstwo.txt, - autorzy.txt, - ksiazki.txt, - wydawnictwo.txt. Pliki te zawierają dane w postaci wierszy z wartościami oddzielonymi przecinkami. 2. Obejrzyj zawartość plików, które skopiowałeś. Krok 2 - Zaimportuj dane z plików tekstowych do tabel bazy danych Biblioteka1. Uruchom program Query Analyzer.2. Zaloguj się używając uwierzytelnienia systemu Windows. 3. W menu głównym programu wybierz File - Open. 4. W oknie Open Query File wybierz plik demo_3_10_1.sql. Nie uruchamiaj skryptu, a jedynie obejrzyj jego kod. 5. Zaznacz i uruchom (klawisz F5) fragmenty kodu oznaczone w komentarzach jako (1), (2) oraz (3). Fragment (1) ustawia bazę danych Biblioteka jako bazę roboczą. Fragment (2) usuwa aktualną zawartość tabel bazy danych Biblioteka. Fragment (3) zeruje autonumerację kluczy głównych w tabelach (bez tej operacji serwer nadaje kolejne numery, tzn. jeśli dodamy rekord o wartości klucza równej 1, to po usunięciu go następny rekord otrzyma wartość klucza 2, a nie ponownie 1).
6. Zakładając, że skopiowałeś pliki tekstowe na dysk C, zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (4). Kod ten importuje dane z plików tekstowych do odpowiednich tabel bazy danych.
W powyższym kodzie pod argumentem FIELDTERMINATOR kryje się separator kolumn (oddziela wartości wstawiane w kolejne pola rekordów - tu jest to przecinek). Pod argumentem ROWTERMINATOR kryje się separator wierszy (oddziela kolejne wiersze - tu jest to przejście do nowego wiersza w pliku tekstowym). Argument CODEPAGE jest istotny z punktu widzenia obsługi polskich znaków (typu ą,ć,ę itd.) przy importowaniu danych. Wartość ACP oznacza, że strona kodowa pliku tekstowego będzie zamieniana na stronę kodową serwera MS SQL, a co za tym idzie, dane będą dobrze formatowane w serwerze (z polskimi znakami). 7. Sprawdźmy, czy dane zostały poprawnie zaimportowane (jeśli w poprzednim punkcie został wyświetlony komunikat o błędzie, to musisz najwyraźniej zmienić ścieżki do plików tekstowych w kodzie). Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (5). Kod ten spowoduje wyświetlenie zawartości wszystkich tabel bazy danych, dzięki czemu będziesz mógł zweryfikować, czy dane zostały poprawnie zaimportowane.
Krok 3 - Wyeksportuj dane z tabeli Ksiazki do pliku tekstowego1. Uruchom konsolę linii poleceń (jeśli nie wiesz, jak to zrobić, zajrzyj do lekcji 1.7 Narzędzia dostępne w linii poleceń).2. W linii poleceń wpisz: bcp "Biblioteka.dbo.Ksiazki" out "C:\ksiazki_1.txt" -U sa -P haslo_uzytkownika_sa -C ACP -t "," -r "\n" -c wstawiając hasło użytkownika sa w odpowiednie miejsce. Wykonane przed chwilą polecenie wyeksportowało zawartość tabeli Ksiazki z bazy danych Biblioteka do pliku tekstowego ksiazki_1.txt na dysku C. Polecenie do łączenia z serwerem MS SQL użyło konta użytkownika sa i jego hasła. Ponadto w poleceniu określiliśmy, że: dane będą kopiowane w postaci tekstowej (argument -c), dane będą przeformatowane do strony kodowej dokumentów tekstowych Widnows (-C ACP), separatorem pól będzie przecinek (-t ","), separatorem wierszy będzie znak nowego wiersza (-r "\n"). 3. Otwórz plik tekstowy ksiazki_1.txt z dysku C i sprawdź, czy zawiera dobrze sformatowane dane zgodne z danymi w bazie danych.
Przejdź dalej ![]() |
|||||||||||||||
![]() Ćwiczenia > Budowa bazy danych w MS SQL Server 2000 > Import i eksport danych |