Freigeben über


ISSAbort::Abort (OLE DB)

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

OLE DB-Treiber herunterladen

Bricht das aktuelle Rowset sowie eventuell mit dem aktuellen Befehl verknüpfte Batchbefehle ab.

Die ISSAbort-Schnittstelle, die im OLE DB-Treiber für SQL Server verfügbar gemacht wird, stellt die ISSAbort::Abort-Methode bereit. Sie dient dazu, das aktuelle Rowset sowie Befehle abzubrechen, die mit dem Befehl, der das Rowset ursprünglich generiert hat, verknüpft sind und noch nicht ausgeführt wurden.

ISSAbort ist ein OLE DB-Treiber für SQL Server-spezifische Schnittstellen, die bei Verwendung von QueryInterface für das IMultipleResults-Objekt, das von ICommand::Execute oder IOpenRowset::OpenRowset zurückgegeben wird, verfügbar sind.

Syntax

  
HRESULT Abort(void);  

Bemerkungen

Wenn der abgebrochene Befehl eine gespeicherte Prozedur ist, wird die Ausführung der gespeicherten Prozedur (und aller Prozeduren, die diese Prozedur aufgerufen haben) sowie des Befehlsbatches, der den gespeicherten Prozeduraufruf enthielt, ebenfalls beendet. Falls der Server gerade ein Resultset an den Client überträgt, wird die Übertragung beendet. Wenn der Client ein Resultset nicht nutzen möchte, wird **ISSAbort::Abortbefore releasing the rowset will speed up the rowset release, but if there is an open transaction and XACT_ABORT is ON, the transaction will be rolled back whenISSAbort::Abort` aufgerufen.

Sobald ISSAbort::Abort „S_OK“ zurückgibt, kann die zugehörige IMultipleResults-Schnittstelle nicht mehr verwendet werden und gibt bei allen Methodenaufrufen „DB_E_CANCELED“ zurück (außer bei Methoden, die durch die IUnknown-Schnittstelle definiert sind), bis sie wieder freigegeben wird. Falls vor dem IRowset -Aufruf ein IMultipleResults von Abortempfangen wurde, ist dieses ebenfalls nicht mehr verwendbar und gibt bei allen Methodenaufrufen DB_E_CANCELED zurück (außer bei Methoden, die durch die IUnknown -Schnittstelle und IRowset::ReleaseRowsdefiniert sind), bis es nach einem erfolgreichen Aufruf von ISSAbort::Abortwieder freigegeben wird.

Hinweis

Wenn der Serverstatus „XACT_ABORT“ab SQL Server 2005 (9.x) auf ON festgelegt ist, werden bei Ausführung von ISSAbort::Abort alle aktuellen impliziten oder expliziten Transaktionen beendet und ein Rollback ausgeführt, wenn eine Verbindung zu SQL Serverbesteht. Frühere Versionen von SQL Server brechen die aktuelle Transaktion nicht ab.

Argumente

Keine.

Rückgabecodewerte

S_OK
Die ISSAbort::Abort -Methode gibt S_OK zurück, wenn der Batch abgebrochen wurde, andernfalls DB_E_CANTCANCEL. Wenn der Batch bereits abgebrochen wurde, wird DB_E_CANCELED zurückgegeben.

DB_E_CANCELED
Der Batch wurde bereits abgebrochen.

DB_E_CANTCANCEL
Der Batch wurde nicht abgebrochen.

E_FAIL
Ein anbieterspezifischer Fehler ist aufgetreten. Ausführliche Informationen erhalten Sie über die ISQLServerErrorInfo-Schnittstelle.

E_UNEXPECTED
Die Methode wurde unerwartet aufgerufen. Zum Beispiel ist das Objekt in einem Zombiezustand, da ISSAbort::Abort bereits aufgerufen wurde.

E_OUTOFMEMORY
Fehler aufgrund von nicht genügend Arbeitsspeicher.