Share via


SqlBulkCopy.BatchSize Propriété

Définition

Nombre de lignes dans chaque lot. À la fin de chaque lot, les lignes du lot sont envoyées au serveur.

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

Valeur de propriété

Valeur entière de la propriété BatchSize ou zéro si aucune valeur n’a été définie.

Exemples

L’application console suivante montre comment charger des données en bloc dans des lots de 50 lignes. Pour obtenir un exemple illustrant le fonctionnement BatchSize d’une transaction, consultez Opérations de transaction et de copie en bloc.

Important

Cet exemple ne s’exécutera que si vous avez créé les tables de travail comme décrit dans Configuration de l’exemple de copie en bloc. Ce code est fourni uniquement pour illustrer la syntaxe de l’utilisation de SqlBulkCopy. Si les tables source et de destination se trouvent dans la même instance SQL Server, il est plus facile et plus rapide d’utiliser une instruction Transact-SQL INSERT … SELECT pour copier les données.

Remarques

Un lot est terminé quand les lignes BatchSize ont été traitées ou qu'il n'y a plus de ligne à envoyer à la source de données de destination.

Zéro (valeur par défaut) indique que chaque WriteToServer opération est un lot unique.

Si l’instance SqlBulkCopy a été déclarée sans l’option UseInternalTransaction en vigueur, les lignes sont envoyées aux lignes du serveur BatchSize à la fois, mais aucune action liée aux transactions n’est effectuée. Si UseInternalTransaction est en vigueur, chaque lot de lignes est inséré en tant que transaction distincte.

La BatchSize propriété peut être définie à tout moment. Si une copie en bloc est déjà en cours, le lot actuel est dimensionné en fonction de la taille du lot précédent. Les lots suivants utilisent la nouvelle taille. Si le BatchSize est initialement zéro et modifié alors qu’une WriteToServer opération est déjà en cours, cette opération charge les données sous la forme d’un seul lot. Toutes les opérations suivantes WriteToServer sur la même SqlBulkCopy instance utilisent le nouveau BatchSize.

S’applique à