Teilen über


IRowsetFastLoad::Commit (Native Client OLE DB-Anbieter)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Wichtig

Der SQL Server Native Client (häufig abgekürzt mit SNAC) wurde aus SQL Server 2022 (16.x) und SQL Server Management Studio 19 (SSMS) entfernt. Sowohl der OLE DB-Anbieter für den SQL Server Native Client (SQLNCLI oder SQLNCLI11) als auch der Microsoft OLE DB-Legacyanbieter für SQL Server (SQLOLEDB) werden für Neuentwicklungen nicht empfohlen. Verwenden Sie in Zukunft den neuen Microsoft OLE DB-Treiber für SQL Server (MSOLEDBSQL).

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 SQL Server Native Client OLE DB-Anbieter-Massenkopierrowset verhält sich wie ein Rowset im 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)