IRowsetFastLoad::Commit (Native Client OLE DB Provider)

適用于:SQL Server (Azure SQL Database Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System ( PDW) 的所有支援) 版本

標記插入資料列批次的結尾,並將資料列寫入資料表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方法,才能以與 IRowsetUpdate::Update方法相同的方式,將插入的資料列寫入 SQL Server至 SQL Server 的實例。

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

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

另請參閱

IRowsetFastLoad (OLE DB)