IRowsetFastLoad::Commit (Native Client OLE DB-Anbieter)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics 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.
Hinweise
Ein OLE DB-Massenkopie-Rowset des SQL Server Native Client-Anbieters verhält sich als 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.