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 属性的整数值;如果未设置任何值,则为零。

示例

以下控制台应用程序演示了如何批量加载 50 行的数据。 有关演示如何 BatchSize 使用事务的示例,请参阅 事务和大容量复制操作

重要

除非已按批量复制示例设置中所述创建了工作表,否则此示例不会运行。 提供此代码是为了演示仅使用 SqlBulkCopy 时的语法。 如果源表和目标表位于同一SQL Server实例中,则使用 Transact-SQL INSERT … SELECT 语句复制数据会更轻松、更快。

注解

当处理完 BatchSize 行或没有更多行要发送到目标数据源时,即表示批已完成。

零 (默认) 指示每个 WriteToServer 操作都是单个批处理。

SqlBulkCopy如果声明实例时没有UseInternalTransaction有效选项,则行将一次发送到服务器BatchSize行,但不执行与事务相关的操作。 如果 UseInternalTransaction 有效,则每批行将作为单独的事务插入。

BatchSize可以随时设置 属性。 如果批量复制已在进行中,则根据以前的批大小调整当前批的大小。 后续批使用新大小。 BatchSize如果 最初为零,并在操作正在进行时WriteToServer更改,该操作会将数据加载为单个批处理。 同一SqlBulkCopy实例上的任何后续WriteToServer操作都使用新的 BatchSize

适用于