SqlBulkCopy.BatchSize プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
各バッチに含まれる行数。 各バッチの最後に、バッチ内の行がサーバーに送信されます。
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を使用します。