Freigeben über


IRowsetFastLoad::Commit (OLE DB)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

OLE DB-Treiber herunterladen

Markiert das Ende eines Batches eingefügter Zeilen und schreibt die Zeilen in die SQL Server-Tabelle. Beispiele finden Sie unter Massenkopieren von Daten mithilfe von IRowsetFastLoad (OLE DB) und Senden von BLOB-Daten an SQL SERVER mit IROWSETFASTLOAD und ISEQUENTIALSTREAM (OLE DB).

Syntax

  
HRESULT Commit(  
      BOOL fDone);  

Argumente

fDone[in]
Wenn FALSE angegeben wird, behält das Rowset seine Gültigkeit und kann vom Consumer zum Einfügen zusätzlicher Zeilen verwendet werden. Wird TRUE angegeben, dann verliert das Rowset seine Gültigkeit, und der Consumer kann keine weiteren Einfügungen vornehmen.

Rückgabecodewerte

S_OK
Die Methode wurde erfolgreich ausgeführt, und alle eingefügten Daten wurden in die SQL Server-Tabelle geschrieben.

E_FAIL
Es ist ein anbieterspezifischer Fehler aufgetreten. Rufen Sie Fehlerinformationen für den betreffenden Fehlertext vom Anbieter ab.

E_UNEXPECTED
Die Methode wurde für ein Rowset für das Massenkopieren aufgerufen, das zuvor von der IRowsetFastLoad::Commit-Methode für ungültig erklärt wurde.

Bemerkungen

Ein vom OLE DB-Treiber für SQL Server erstelltes Rowset für das Massenkopieren verhält sich wie ein Rowset für den verzögerten Updatemodus. Wenn der Benutzer Zeilendaten über das Rowset einfügt, dann werden die eingefügten Zeilen so behandelt wie ausstehende Einfügungen in einem Rowset, das IRowsetUpdate unterstützt.

Der Consumer muss die Commit-Methode für das Rowset für das Massenkopieren ebenso aufrufen, um die eingefügten Zeilen in die SQL Server-Tabelle zu schreiben, wie mithilfe der IRowsetUpdate::Update-Methode ausstehende Zeilen an eine Instanz von SQL Server gesendet werden.

Wenn der Consumer seinen Verweis auf das Rowset für das Massenkopieren freigibt, ohne die Commit-Methode aufzurufen, gehen alle Zeilen verloren, die vorher nicht in die Tabelle geschrieben wurden.

Der Consumer kann die eingefügten Zeilen als Batch definieren, indem er die Commit-Methode aufruft und das fDone-Argument auf FALSE festlegt. Wenn fDone auf TRUE festgelegt wird, wird das Rowset ungültig. Ein ungültiges Rowset für das Massenkopieren unterstützt nur die ISupportErrorInfo-Schnittstelle und die IRowsetFastLoad::Release-Methode.

Weitere Informationen

IRowsetFastLoad (OLE DB)