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 属性的整数值;如果未设置任何值,则为零。
示例
以下控制台应用程序演示了如何批量加载 50 行的数据。 有关演示如何 BatchSize 使用事务的示例,请参阅 事务和大容量复制操作。
重要
除非已按批量复制示例设置中所述创建了工作表,否则此示例不会运行。
提供此代码是为了演示仅使用 SqlBulkCopy 时的语法。 如果源表和目标表位于同一SQL Server实例中,则使用 Transact-SQL INSERT … SELECT
语句复制数据会更轻松、更快。
注解
当处理完 BatchSize 行或没有更多行要发送到目标数据源时,即表示批已完成。
零 (默认) 指示每个 WriteToServer 操作都是单个批处理。
SqlBulkCopy如果声明实例时没有UseInternalTransaction有效选项,则行将一次发送到服务器BatchSize行,但不执行与事务相关的操作。 如果 UseInternalTransaction 有效,则每批行将作为单独的事务插入。
BatchSize可以随时设置 属性。 如果批量复制已在进行中,则根据以前的批大小调整当前批的大小。 后续批使用新大小。 BatchSize如果 最初为零,并在操作正在进行时WriteToServer更改,该操作会将数据加载为单个批处理。 同一SqlBulkCopy实例上的任何后续WriteToServer操作都使用新的 BatchSize。