Udostępnij za pośrednictwem


SqlBulkCopy.BatchSize Właściwość

Definicja

Liczba wierszy w każdej partii. Na końcu każdej partii wiersze w partii są wysyłane do serwera.

public:
 property int BatchSize { int get(); void set(int value); };
public int BatchSize { get; set; }
member this.BatchSize : int with get, set
Public Property BatchSize As Integer

Wartość właściwości

Wartość całkowita BatchSize właściwości lub zero, jeśli nie ustawiono żadnej wartości.

Przykłady

Poniższa aplikacja konsolowa pokazuje, jak zbiorczo ładować dane w partiach 50 wierszy. Przykład pokazujący, jak BatchSize działa z transakcją, zobacz Operacje transakcji i kopiowania zbiorczego.

Ważne

Ten przykład nie zostanie uruchomiony, chyba że tabele robocze zostały utworzone zgodnie z opisem w temacie Konfiguracja przykładu kopiowania zbiorczego. Ten kod jest dostarczany w celu zademonstrowania składni tylko przy użyciu narzędzia SqlBulkCopy . Jeśli tabele źródłowe i docelowe znajdują się w tym samym wystąpieniu SQL Server, łatwiej i szybciej używać instrukcji Języka Transact-SQL INSERT … SELECT do kopiowania danych.

Uwagi

Partia jest kompletna, gdy BatchSize wiersze zostały przetworzone lub nie ma więcej wierszy do wysłania do docelowego źródła danych.

Zero (wartość domyślna) wskazuje, że każda WriteToServer operacja jest pojedynczą partią.

SqlBulkCopy Jeśli wystąpienie zostało zadeklarowane bez UseInternalTransaction opcji, wiersze są wysyłane do wierszy serwera BatchSize w danym momencie, ale nie zostanie podjęta żadna akcja związana z transakcją. Jeśli UseInternalTransaction jest w życie, każda partia wierszy jest wstawiana jako osobna transakcja.

Właściwość BatchSize można ustawić w dowolnym momencie. Jeśli kopia zbiorcza jest już w toku, bieżąca partia ma rozmiar zgodnie z poprzednim rozmiarem partii. Kolejne partie używają nowego rozmiaru. BatchSize Jeśli wartość jest początkowo zero i zmieniana, gdy WriteToServer operacja jest już w toku, operacja ładuje dane jako pojedynczą partię. Wszystkie kolejne WriteToServer operacje na tym samym SqlBulkCopy wystąpieniu używają nowego BatchSizepolecenia .

Dotyczy