Korzystanie z plików danych i format plików

Najprostszy program kopiowanie masowe wykonuje następujące czynności:

  1. Wywołania bcp_init , aby określić zbiorczej kopiowania poza (zestaw BCP_OUT) z tabela lub wyświetlania w pliku danych.

  2. Wywołania bcp_exec wykonać kopiowanie masowe operacji.

Plik danych jest tworzony w trybie macierzystym, dlatego dane ze wszystkich kolumn w tabela lub widoku są przechowywane w pliku danych w ten sam format jak w bazie danych.Plik ten może być następnie kopiowany do serwera przy użyciu tych te same czynności, a następnie ustawiając DB_IN zamiast DB_OUT zbiorczej.To działa tylko wtedy, gdy dokładnie taką samą strukturę tabel źródłowej i miejsce docelowe.Wynikowy plik danych może być również wprowadzany do BCP narzędzie przy użyciu n Przełącznik (w trybie macierzystym).

Aby kopiowanie masowe poza zestaw wyników Transact-SQL instrukcja zamiast bezpośrednio z tabela lub widoku:

  1. Wywołanie bcp_init , aby określić zbiorczego kopiowania wyjściowego, ale nazwę tabela, należy określić wartość NULL.

  2. Wywołanie bcp_control with eOption zestaw BCPHINTS i iValue zestaw wskaźnika do SQLTCHAR ciąg zawierający instrukcja języka Transact-SQL.

  3. Wywołanie bcp_exec wykonywania zbiorczej operacji kopiowania.

The Transact-SQL instrukcja can be any instrukcja that generates a zestaw wyników. Tworzony jest plik danych, pierwszy zestaw wyników zawierający Transact-SQL Instrukcja. kopiowanie masowe ignoruje dowolny wynik po pierwszym if ustawić Transact-SQL instrukcja generuje wiele zestawów wyników (na przykład, jeśli zawiera on COMPUTE lub COMPUTE BY).

Aby utworzyć plik danych, w której kolumna dane są przechowywane w innym formacie niż w tabela, należy skontaktować się telefonicznie bcp_columns , aby określić, ile kolumn ma zostać zmieniona, a następnie wywołać bcp_colfmt dla każdej kolumna, których format chcesz zmienić.This is done after calling bcp_init but before calling bcp_exec.bcp_colfmt specifies the format in which the column's data is stored in the data file.Mogą być używane w przypadku zbiorczego kopiowania lub zmniejszyć.Można również użyć bcp_colfmt ustawić wiersza i kolumna terminatory.Na przykład jeśli dane zawierają nie znaki tabulacji, można utworzyć plik rozdzielany tabulatorami przy użyciu bcp_colfmt , aby ustawić znak tabulacji jako terminator dla każdej kolumna.

Kiedy zbiorczej kopiowanie i za pomocą bcp_colfmt, można łatwo utworzyć plik formatu opisu pliku danych utworzonego przez wywołanie bcp_writefmt po wywołaniu ostatniego bcp_colfmt.

Gdy zbiorczego kopiowania w z pliku danych, opisana przez plik formatu, do odczytu pliku w formacie, wywołując bcp_readfmt after bcp_init , ale przed bcp_exec.

The bcp_control function controls several options when bulk copying into SQL Server from a data file.bcp_control sets options, such as the maximum number of errors before termination, the row in the file on which to start the bulk copy, the row to stop on, and the batch size.