IBCPSession::BCPControl (OLE DB)
Ustawia opcje dla operacji masowego kopiowania.
Składnia
HRESULT BCPControl(
int eOption,
void *iValue);
Uwagi
BCPControl metoda ustawia różnych parametrów kontroli dla operacji kopiowanie masowe łącznie liczbę błędów dozwolone przed anulowaniem kopiowanie masowe, numery pierwszej i ostatniej wierszy do skopiowania pliku danych oraz partia rozmiar.
Ta metoda służy również do określenia, kiedy używać instrukcja SELECT luzem kopiowania danych z SQL Server.zestaw eOption argument BCP_OPTION_HINTS i iValue argumentu wskaźnika do znak dwubajtowy ciąg zawierający instrukcji SELECT.
BCPControl metody zestaws zmiennych BCP struktury włączyć opcje zestaw przez użytkownika.Prawidłowe opcje to:
Opcja |
Opis |
---|---|
BCP_OPTION_ABORT |
Zatrzymuje operację masowego kopiowania, który jest już w toku.Można wywołać BCPControl metoda z eOption argumentu BCP_OPTION_ABORT z innego wątek, aby zatrzymać operację systemem masowego kopiowania.iValue Argument jest ignorowany. |
BCP_OPTION_BATCH |
Liczba wierszy na partia.Wartością domyślną jest 0, co wskazuje wszystkie wiersze w tabela, podczas wyodrębniania danych, lub wszystkich wierszy danych użytkownika plików podczas kopiowania danych do SQL Server.Wartość mniejszą niż 1 przywraca domyślne BCP_OPTION_BATCH. |
BCP_OPTION_FILECP |
iValue Argument zawiera numer strona kodowa dla pliku danych.Można określić numer strona kodowa, takich jak 1252 lub 850 lub jednej z następujących wartości:
|
BCP_OPTION_FILEFMT |
Numer wersja formatu pliku danych.Może to być 80 (SQL Server 2000), 90 (SQL Server 2005), lub 100.100 domyślne i wskazuje, że plik jest w SQL Server 2008 (lub SQL Server 2008 R2) format.Jest to przydatne do eksportowania i importowania danych w formatach, które zostały poparte starszej wersja serwera.Na przykład, aby importować dane uzyskane z kolumna tekstu w SQL Server 2000 serwera do varchar(max) kolumna w SQL Server 2005 lub nowszego serwera należy określić 80.Podobnie jeśli określisz 80 podczas eksportowania danych z varchar(max) kolumna, zostanie on zapisany tak samo, jak tekst kolumna są zapisywane w SQL Server 2000 format i mogą być importowane do kolumna tekstu SQL Server 2000 serwera. |
BCP_OPTION_FIRST |
Pierwszy wiersz danych z pliku lub tabela, aby skopiować.Wartością domyślną jest 1; wartość mniejszą niż 1 przywrócenie domyślnego tej opcji. |
BCP_OPTION_FIRSTEX |
Określa pierwszy wiersz tabela bazy danych, aby skopiować do pliku danych dla BCP operacji. BCP w operacjach określa się w pierwszym wierszu pliku danych, aby skopiować do tabela bazy danych. iValue Parametr oczekuje się adres podpisana liczba całkowita 64-bitowym zawierający wartości.Wartością maksymalną, który może zostać przekazany do BCPFIRSTEX 2 ^ 63-1. |
BCP_OPTION_FMTXML |
Służy do określania, że plik formatu wygenerowany powinien być w formacie XML.Wyłączone domyślnie i jest domyślnie pliki w formacie są zapisywane jako pliki tekstowe.Plik formatu XML zapewnia większą elastyczność, ale z niektórymi dodać ograniczenia.Na przykład można nie określić prefiks i terminatora pole jednocześnie jest możliwe w formacie starszych wersji plików. ![]()
Pliki w formacie XML są tylko obsługiwane, gdy SQL Server narzędzia są instalowane wraz z SQL Server macierzystego klienta.
|
BCP_OPTION_HINTS |
iValue Argument zawiera znak dwubajtowy ciąg wskaźnik.Określa ciąg skierowana SQL Server wskazówki przetwarzania bulk copy lub Transact-SQL instrukcji, która zwraca zestaw wyników.Jeśli Transact-SQL instrukcja jest określony, która zwraca więcej niż jeden zestaw wyników, wszystkie zestaw wynikóws po pierwszym są ignorowane. |
BCP_OPTION_KEEPIDENTITY |
Po iValue argument jest zestaw ma wartość TRUE, ta opcja określa, że metody kopiowania luzem wstawić wartości danych dostarczonych do SQL Server określonych kolumn z ograniczenia tożsamości.Plik wejściowy musi podać wartości dla kolumny tożsamości.Jeśli nie jest zestaw, generowane są nowe wartości tożsamości wstawionych wierszy.Wszelkie dane znajdujące się w pliku dla kolumny tożsamości jest ignorowana. |
BCP_OPTION_KEEPNULLS |
Określa, czy wartości puste dane w pliku są konwertowane na wartooci NULL w SQL Server tabela.Gdy iValue argument jest zestaw ma wartość TRUE, puste wartości są konwertowane na wartości NULL w SQL Server tabela.Domyślnie jest puste wartości są konwertowane na wartość domyślną dla kolumna w SQL Server tabela, jeśli istnieje domyślna. |
BCP_OPTION_LAST |
Ostatni wiersz do skopiowania.Domyślnie jest skopiowanie wszystkich wierszy.Wartość mniejszą niż 1 przywrócenie domyślnego tej opcji. |
BCP_OPTION_LASTEX |
Określa ostatni wiersz tabela bazy danych, aby skopiować do pliku danych dla BCP operacji. Określa ostatni wiersz pliku danych, aby skopiować do tabela bazy danych dla BCP w operacjach. iValue Parametr oczekuje się adres podpisana liczba całkowita 64-bitowym zawierający wartości.Mogą być przekazywane do BCPLASTEX wartość maksymalna jest 2 ^ 63-1. |
BCP_OPTION_MAXERRS |
Liczba błędów przed kopiowanie masowe operacja kończy się niepowodzeniem.Wartość domyślna to 10.Wartość mniejszą niż 1 przywrócenie domyślnego tej opcji.Bulk copy nakłada maksymalnie 65 535 błędy.Próba zestaw tę opcję, aby wartość większą niż 65 535 wyniki jest opcja zestaw do 65 535. |
BCP_OPTION_ROWCOUNT |
Zwraca liczbę wierszy dotyczy operacji BCP bieżącą (lub ostatnią). |
BCP_OPTION_TEXTFILE |
Plik danych nie jest plikiem binarnym, ale jest plikiem tekstowym.BCP wykonuje wykrywania, czy plik tekstowy jest Unicode nie sprawdzając znacznika bajt Unicode w pierwszych 2 bajtów pliku danych. |
BCP_OPTION_UNICODEFILE |
Gdy zestaw ma wartość TRUE, ta opcja określa, że plik wejściowy jest w formacie Unicode. |
Argumenty
eOption[w]
Ustawić jedną z opcji wymienionych w sekcji Uwagi.iValue[w]
Określona wartość eOption.iValue Argument jest wartością całkowitą rzutować void wskaźnik, aby zezwolić na przyszłe rozszerzenia do 64-bitowe wartości.
Wartości kodów powrotnych
S_OK
metoda powiodło się.E_FAIL
Wystąpił błąd dostawca; Aby uzyskać szczegółowe informacje, należy użyć ISQLServerErrorInfo interfejs.E_UNEXPECTED
Wywołanie metoda było nieoczekiwane.Na przykład IBCPSession::BCPInit przed wywołaniem tej funkcja nie wywołano metoda.BŁĄD E_OUTOFMEMORY
Błąd braku pamięci.