SqlBulkCopy.BatchSize プロパティ

定義

各バッチに含まれる行数。 各バッチの最後に、バッチ内の行がサーバーに送信されます。

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

プロパティ値

BatchSize プロパティの整数値。値が設定されていない場合は 0。

次のコンソール アプリケーションは、50 行のバッチでデータを一括読み込みする方法を示しています。 トランザクションの動作方法 BatchSize を示す例については、「 トランザクションと一括コピー操作」を参照してください。

重要

このサンプルは、「バルク コピー サンプルのセットアップ」で説明されているように作業テーブルを作成してからでないと動作しません。 このコードでは、SqlBulkCopy だけを使用した構文について説明します。 ソース テーブルと変換先テーブルが同じSQL Server インスタンスにある場合は、Transact-SQL INSERT … SELECT ステートメントを使用してデータをコピーする方が簡単かつ迅速です。

注釈

BatchSize 分の行が処理されるか、コピー先のデータ ソースに送信する行がなくなると、バッチは完了します。

ゼロ (既定値) は、各 WriteToServer 操作が 1 つのバッチであることを示します。

オプションを SqlBulkCopy 有効にせずに UseInternalTransaction インスタンスが宣言されている場合、行は一度にサーバー BatchSize 行に送信されますが、トランザクション関連のアクションは実行されません。 が有効な場合 UseInternalTransaction 、行の各バッチは個別のトランザクションとして挿入されます。

プロパティはいつでも BatchSize 設定できます。 一括コピーが既に進行中の場合、現在のバッチは前のバッチ サイズに従ってサイズ変更されます。 後続のバッチでは、新しいサイズが使用されます。 BatchSize操作が既に進行中に が最初に 0 で変更WriteToServerされた場合、その操作はデータを 1 つのバッチとして読み込みます。 同じSqlBulkCopyインスタンスに対する後続WriteToServerの操作では、新しい BatchSizeを使用します。

適用対象