SqlBulkCopy.BatchSize Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Numero di righe in ogni batch. Al termine di ogni batch, le righe nel batch vengono inviate al server.
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
Valore della proprietà
Valore intero della proprietà BatchSize oppure zero se non si è impostato alcun valore.
Esempio
L'applicazione console seguente illustra come caricare in blocco i dati in batch di 50 righe. Per un esempio che illustra come BatchSize funziona con una transazione, vedere Operazioni di transazione e copia bulk.
Importante
Questo esempio non verrà eseguito a meno che non siano state create le tabelle di lavoro, come descritto in Installazione di esempio di copia bulk.
Il codice viene fornito solo per illustrare la sintassi relativa all'uso di SqlBulkCopy. Se le tabelle di origine e di destinazione si trovano nella stessa istanza di SQL Server, è più semplice e veloce usare un'istruzione Transact-SQL INSERT … SELECT
per copiare i dati.
Commenti
Un batch è completo quando le righe BatchSize sono state elaborate o non sono più disponibili righe da inviare all'origine dati di destinazione.
Zero (impostazione predefinita) indica che ogni WriteToServer operazione è un singolo batch.
Se l'istanza SqlBulkCopy è stata dichiarata senza l'opzione UseInternalTransaction , le righe vengono inviate alle righe del server BatchSize alla volta, ma non viene eseguita alcuna azione correlata alla transazione. Se UseInternalTransaction è effettivo, ogni batch di righe viene inserito come transazione separata.
La BatchSize proprietà può essere impostata in qualsiasi momento. Se una copia bulk è già in corso, il batch corrente viene ridimensionato in base alle dimensioni del batch precedente. I batch successivi usano le nuove dimensioni. Se l'oggetto BatchSize è inizialmente zero e modificato mentre un'operazione WriteToServer è già in corso, tale operazione carica i dati come singolo batch. Tutte le operazioni successive WriteToServer nella stessa SqlBulkCopy istanza usano il nuovo BatchSize.