Skip to main content

Używanie bcp do importowania i eksportowania danych z serwera SQL

Import danych z Excela i budowa hurtowni danych w MS SQL Server 2008 (Czerwiec 2026)

Import danych z Excela i budowa hurtowni danych w MS SQL Server 2008 (Czerwiec 2026)
Anonim

Komenda zbiorczego kopiowania (bcp) serwera Microsoft SQL Server zapewnia możliwość wstawiania dużej liczby rekordów bezpośrednio z wiersza poleceń. Oprócz tego, że jest użytecznym narzędziem dla miłośników wiersza poleceń, narzędzie bcp jest potężnym narzędziem dla tych, którzy chcą wstawić dane do bazy danych SQL Server z pliku wsadowego lub innej metody programowej. Istnieje wiele sposobów na uzyskanie danych w bazie danych, ale bcp jest najszybszy, gdy jest skonfigurowany z odpowiednimi parametrami.

Składnia BCP

Podstawowa składnia korzystania z bcp to:

bcp

gdzie argumenty przyjmują następujące wartości:

  • Nazwa tabeli jest pełną nazwą tabeli. Na przykład możesz użyć inventory.dbo.fruits, aby wstawić rekordy do tabeli owoców posiadanej przez właściciela bazy danych w bazie danych zasobów.
  • Kierunek wskazuje, czy chcesz importować dane (kierunek "w"), czy eksportować (kierunek "na zewnątrz").
  • Nazwa pliku jest pełną ścieżką do pliku. Na przykład możesz zaimportować plik C: fruit inventory.txt.
  • Opcje pozwala określić parametry dla operacji zbiorczej. Na przykład można określić maksymalną liczbę błędów dozwoloną w opcji -m. Możesz także użyć opcji -x, aby określić format pliku XML. Zapoznaj się z dokumentacją bcp Microsoftu, aby uzyskać pełną listę.

Przykład importu BCP

Aby to wszystko połączyć, wyobraź sobie, że masz bazę owoców w bazie danych ekwipunku i chcesz zaimportować wszystkie rekordy z pliku tekstowego zapisanego na dysku twardym do tej bazy danych. Można użyć następującej składni polecenia bcp:

bcp inventory.dbo.fruits w "C: fruit inventory.txt" -c -T

W ten sposób powstaje następujący wynik:

C: > bcp inventory.dbo.fruits w "C: fruit inventory.txt" -c -T

Rozpoczynam kopiowanie …

36 wierszy skopiowanych.

Rozmiar pakietu sieciowego (bajty): 4096

Czas zegara (ms.) Suma: 16 Średnia: (2250,00 wierszy na sekundę)

C: >

Być może zauważyłeś dwie nowe opcje w tym wierszu poleceń. Opcja -c określa, że ​​format pliku importowanego będzie tekstem rozdzielanym tabulatorami z każdym rekordem w nowym wierszu. Opcja -T określa, że ​​program bcp powinien używać uwierzytelniania systemu Windows do łączenia się z bazą danych.

Przykład eksportu BCP

Możesz eksportować dane z bazy danych za pomocą polecenia bcp, zmieniając kierunek operacji z "na" na "na zewnątrz". Na przykład możesz zrzucić zawartość tabeli owoców do pliku tekstowego za pomocą następującego polecenia:

bcp inventory.dbo.fruits out "C: fruit inventory.txt" -c -T

Oto, jak to wygląda w linii poleceń:

C: > bcp inventory.dbo.fruits out "C: fruit inventory.txt" -c -T

Rozpoczynam kopiowanie …

42 wiersze skopiowane.

Rozmiar pakietu sieciowego (bajty): 4096

Czas zegara (ms.) Łącznie: 1 Średnia: (42000,00 wierszy na sekundę)

C: >

To wszystko jest do polecenia bcp. Możesz użyć tego polecenia z wewnątrz plików wsadowych lub innych programów z dostępem do wiersza poleceń DOS, aby zautomatyzować import i eksport danych z bazy danych SQL Server.