共用方式為


IRowsetFastLoad::Commit (Native Client OLE DB Provider)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。

標示已插入之資料列批次的結尾,並將資料列寫入至 SQL Server 資料表。 如需範例,請參閱使用 IRowsetFastLoad 大量複製資料 (OLE DB)使用 IROWSETFASTLOAD 和 ISEQUENTIALSTREAM 將 BLOB 資料傳送到 SQL SERVER (OLE DB)

語法

  
HRESULT Commit(  
      BOOL fDone);  

引數

fDone[in]
如果為 FALSE,此資料列集就會維持有效性,而且可供取用者用於其他資料列插入作業。 如果為 TRUE,此資料列集就會喪失有效性,而且取用者無法完成其他插入作業。

傳回碼值

S_OK
此方法已成功,且所有插入的資料都已經寫入至 SQL Server 資料表。

E_FAIL
發生了提供者特定的錯誤。 請從提供者中擷取特定錯誤文字的錯誤資訊。

E_UNEXPECTED
這個方法是在先前已藉由 IRowsetFastLoad::Commit 方法設為無效之大量複製資料列集上呼叫。

備註

SQL Server Native Client OLE DB 提供者大量複製數據列集的行為會作為延遲更新模式數據列集。 因為使用者會透過資料列集插入資料列的資料,所以插入的資料列會以相同的方式被視為支援 IRowsetUpdate 之資料列集上的暫止插入。

取用者必須針對大量複製資料列集呼叫 Commit 方法,才能將插入的資料列寫入至 SQL Server 資料表,其方式就如同使用 IRowsetUpdate::Update 方法,將暫止資料列提交給 SQL Server 執行個體。

如果取用者釋放大量複製資料列集的參考,而沒有呼叫 Commit 方法,所有先前並未寫入的已插入資料列都會遺失。

取用者可以呼叫 Commit 方法,並將 fDone 引數設定為 FALSE,藉以批次處理插入的資料列。 當 fDone 設定為 TRUE 時,此資料列集就會成為無效。 無效的大量複製資料列集僅支援 ISupportErrorInfo 介面和 IRowsetFastLoad::Release 方法。

另請參閱

IRowsetFastLoad (OLE DB)