プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# BatchSize

このプロパティは、バッチとしてデータベースに送信される行数を指定します。

宣言

    // C#
    public int BatchSize {get; set;}

プロパティ値

バッチとしてデータベースに送信される行数の整数値。

例外

`ArgumentOutOfRangeException` - バッチ・サイズがゼロ未満です。

備考

デフォルト値はゼロで、複数のバッチでは行はデータベースに送信されないことを示します。行セット全体が1回のバッチで送信されます。

バッチ・サイズを大きくすると、データベース・ラウンドトリップは減少しますが、クライアント側のメモリーの消費量も大きくなります。メモリーを消費しすぎると、マシン全体のパフォーマンスが低下し、アクセス可能なメモリーが処理中に不足してエラーになる場合もあります。クライアント側のメモリーを過剰に消費しないように注意してください。これはバッチ・サイズを小さくして回避できます。

バッチは、`BatchSize`の行数が処理されるか、データベースに送信する行がなくなると完了します。

- `BatchSize` `>` `0`で、`UseInternalTransaction`一括コピー・オプションが指定されていると、各一括コピー操作のバッチがトランザクション内に発生します。一括コピー操作の実行に使用される接続がすでにトランザクションの一部である場合、`InvalidOperationException`例外が発生します。

- `BatchSize` `>` `0`で`UseInternalTransaction`オプションが指定されていない場合は、行はサイズ`BatchSize`の複数のバッチではデータベースに送信されませんが、トランザクション関連のアクションは実行されません。

`BatchSize`プロパティの設定はいつでも可能です。一括コピーがすでに実行中である場合、現在のバッチ・サイズは前のバッチ・サイズによって決定されます。後続のバッチには新規のバッチ・サイズが使用されます。

`BatchSize`プロパティが最初はゼロで、`WriteToServer`操作の実行中に変更された場合、その操作は単一バッチとしてデータにロードされます。同じ`OracleBulkCopy`インスタンス上で実行される次回以降の`WriteToServer`操作では、新規の`BatchSize`が使用されます。

関連項目:

- Oracle.DataAccess.ClientおよびOracle.ManagedDataAccess.Clientのネームスペース

- OracleBulkCopyクラス

- OracleBulkCopyメンバー

- OracleBulkCopyOptionsの列挙