ISSAsynchStatus (Natywny klient OLE DB Provider)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Ważna

SQL Server Native Client (często skracany jako SNAC) został usunięty z SQL Server 2022 (16.x) i SQL Server Management Studio 19 (SSMS). Zarówno dostawca OLE DB klienta natywnego programu SQL Server (SQLNCLI lub SQLNCLI11), jak i starszy dostawca MICROSOFT OLE DB dla programu SQL Server (SQLOLEDB) nie są zalecane w przypadku nowego programowania. Przełącz się na nowy sterownik Microsoft OLE DB (MSOLEDBSQL) dla programu SQL Server na przyszłość.

ISSAsynchStatus udostępnia wsparcie dla operacji asynchronicznych SQL Server. Jest to opcjonalny interfejs, który dziedziczy z rdzenia interfejsu OLE DB IDBAsynchStatus. Oprócz metod Abort i GetStatus odziedziczonych z IDBAsynchStatus, ISSAsynchStatus oferuje jedną nową metodę, która służy do oczekiwania do zakończenia operacji asynchronicznej lub do zakończenia operacji asynchronicznej lub do nastąpienia limitu czasu.

Metoda Description
ISSAsynchStatus::Abort (OLE DB) Anuluje operację wykonywaną asynchronicznie.
ISSAsynchStatus::GetStatus (OLE DB) Zwraca status operacji wykonywanej asynchronicznie.
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) Czeka, aż operacja wykonująca się asynchronicznie zostanie zakończona lub nastąpi przekroczenie czasu.

Remarks

Implementacja metody ISSAsynchStatus::GetStatusISSAsynchStatus jest taka sama jak metoda IDBAsynchStatus::GetStatus, z tą różnicą, że jeśli inicjalizacja obiektu źródłowego danych zostanie przerwana, zwraca się E_UNEXPECTED zamiast DB_E_CANCELED (choć ISSAsynchStatus::WaitForAsynchCompletion zwraca DB_E_CANCELED). Dzieje się tak, ponieważ obiekt źródłowy danych nie pozostaje w zwykłym stanie po operacji przerwania, co pozwala na dalsze operacje inicjalizacyjne.

Następujące metody wspierają stosowanie asynchronicznego wykonywania w SQL Server:

  • ICommand::Wykonaj

  • IOpenRowset::OpenRowset

  • IMultipleResults::GetResult