Partilhar via


ISSAsynchStatus (Provedor OLE DB do cliente nativo)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics

Importante

O SQL Server Native Client (geralmente abreviado como SNAC) foi removido do SQL Server 2022 (16.x) e do SSMS (SQL Server Management Studio) 19. O provedor OLE DB do SQL Server Native Client (SQLNCLI ou SQLNCLI11) e o Provedor OLE DB herdado da Microsoft para o SQL Server (SQLOLEDB) não são recomendados para um novo desenvolvimento. Alterne para o novo Driver do Microsoft OLE DB para SQL Server (MSOLEDBSQL) no futuro.

ISSAsynchStatus expõe o suporte para operações assíncronas do SQL Server. Esta é uma interface opcional herdada da interface OLE DB central IDBAsynchStatus. Além dos métodos Abort e GetStatus herdados de IDBAsynchStatus, ISSAsynchStatus fornece um novo método usado para aguardar até que uma operação assíncrona tenha sido concluída ou um tempo limite tenha sido atingido.

Método Descrição
ISSAsynchStatus::Abort (OLE DB) Cancela uma operação que está sendo executada de forma assíncrona.
ISSAsynchStatus::GetStatus (OLE DB) Retorna o status de uma operação que está sendo executada de forma assíncrona.
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) Aguarda até que a operação com execução assíncrona seja concluída ou um tempo limite seja atingido.

Comentários

A implementação de ISSAsynchStatus do método ISSAsynchStatus::GetStatus é a mesma do método IDBAsynchStatus::GetStatus , com exceção de que, se a inicialização de um objeto de fonte de dados for anulada, E_UNEXPECTED será retornado, em vez de DB_E_CANCELED (apesar de que ISSAsynchStatus::WaitForAsynchCompletion retorna DB_E_CANCELED). Isso ocorre porque o objeto de fonte de dados não é deixado no estado normal após uma operação de anulação, para que possa haver outras tentativas de operações de inicialização.

Os métodos a seguir suportam o uso da execução assíncrona no SQL Server:

  • ICommand::Execute

  • IOpenRowset::OpenRowset

  • IMultipleResults::GetResult

Consulte Também

Interfaces (OLE DB)
Executando operações assíncronas