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

適用於