Share via


ISSAsynchStatus (Native Client OLE DB Provider)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。

ISSAsynchStatus 公開對 SQL Server 非同步作業的支援。 這是繼承自核心 OLE DB 介面 IDBAsynchStatus 的選擇性介面 。 除了繼承自 IDBAsynchStatusAbortGetStatus 方法之外,ISSAsynchStatus 還提供一個新方法,用來等到非同步作業完成或發生逾時。

方法 Description
ISSAsynchStatus::Abort (OLE DB) 取消非同步執行的作業。
ISSAsynchStatus::GetStatus (OLE DB) 傳回以非同步方式執行作業的狀態。
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) 等到非同步執行的作業完成或發生逾時為止。

備註

ISSAsynchStatus::GetStatus 方法的 ISSAsynchStatus 實作與 IDBAsynchStatus::GetStatus 方法相同,不同的是如果中止資料來源物件的初始化,便會傳回 E_UNEXPECTED,而不是 DB_E_CANCELED (雖然 ISSAsynchStatus::WaitForAsynchCompletion 會傳回 DB_E_CANCELED)。 這是因為資料來源物件不會留在中止作業之後的一般狀態,因此可能會嘗試進一步初始化作業。

下列方法支援在 SQL Server 中使用非同步執行:

  • ICommand::Execute

  • IOpenRowset::OpenRowset

  • IMultipleResults::GetResult

另請參閱

介面 (OLE DB)
執行非同步作業