ISSAsynchStatus (ネイティブ クライアント OLE DB プロバイダー)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 から継承する省略可能なインターフェイスです。 ISSAsynchStatus には、IDBAsynchStatus から継承される Abort メソッドと GetStatus メソッドに加えて、非同期操作が完了するかタイムアウトが発生するまで待機する際に使用する新しいメソッドが 1 つ用意されています。

方法 説明
ISSAsynchStatus::Abort (OLE DB) 非同期に実行されている操作を取り消します。
ISSAsynchStatus::GetStatus (OLE DB) 非同期に実行されている操作の状態を返します。
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) 非同期に実行されている操作が完了するかタイムアウトが発生するまで待機します。

解説

ISSAsynchStatus に実装される ISSAsynchStatus::GetStatus メソッドは、IDBAsynchStatus::GetStatus メソッドと同じです。ただし、データ ソース オブジェクトの初期化が中止された場合、DB_E_CANCELED ではなく E_UNEXPECTED が返される点が異なります (ISSAsynchStatus::WaitForAsynchCompletion は、DB_E_CANCELED を返します)。 これは、初期化の中止後、追加の初期化操作が試行される場合に備えて、データ ソース オブジェクトの状態が通常の状態のままにならないためです。

次に、SQL Server の非同期実行の使用をサポートしているメソッドを示します。

  • ICommand::Execute

  • IOpenRowset::OpenRowset

  • IMultipleResults::GetResult

参照

インターフェイス (OLE DB)
非同期操作の実行