ISSAsynchStatus (Native Client OLE DB Provider)
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).
ISSAsynchStatus macht Unterstützung für asynchrone SQL Server-Vorgänge verfügbar. Hierbei handelt es sich um eine optionale Schnittstelle, die von der OLE DB-Kernschnittstelle IDBAsynchStatuserbt. Neben den von IDBAsynchStatus geerbten Methoden Abort und GetStatusstellt ISSAsynchStatus eine neue Methode bereit, die verwendet wird, um zu warten, bis ein asynchroner Vorgang abgeschlossen ist oder ein Timeout auftritt.
Methode | Beschreibung |
---|---|
ISSAsynchStatus::Abort (OLE DB) | Bricht einen asynchron ausgeführten Vorgang ab. |
ISSAsynchStatus::GetStatus (OLE DB) | Gibt den Status eines asynchron ausgeführten Vorgangs zurück. |
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) | Wartet, bis der asynchron ausgeführte Vorgang abgeschlossen ist oder ein Timeout auftritt. |
Bemerkungen
Die ISSAsynchStatus -Implementierung der ISSAsynchStatus::GetStatus -Methode ist mit der IDBAsynchStatus::GetStatus -Methode identisch, gibt jedoch anstelle von DB_E_CANCELED E_UNEXPECTED zurück, wenn die Initialisierung eines Datenquellenobjekts abgebrochen wird (wenngleich ISSAsynchStatus::WaitForAsynchCompletion DB_E_CANCELED zurückgibt). Dies ist darauf zurückzuführen, dass das Datenquellenobjekt nach einem Abbruchvorgang nicht mehr den gewöhnlichen Status aufweist, sodass weitere Initialisierungsvorgänge durchgeführt werden können.
Die folgenden Methoden unterstützen die Verwendung der asynchronen Ausführung in SQL Server:
ICommand::Execute
IOpenRowset::OpenRowset
IMultipleResults::GetResult