Share via


ISSAsynchStatus (provider OLE DB di Native Client)

Si applica a:SQL ServerDatabase SQL diAzure Istanzagestita di SQL di Azure Azure Synapse Analytics PlatformSystem (PDW)

Importante

SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e SQL Server Management Studio 19 (SSMS). Non è consigliabile usare sia il provider OLE DB SQL Server Native Client (SQLNCLI o SQLNCLI11) che il provider Microsoft OLE DB legacy per SQL Server (SQLOLEDB). Passare al nuovo Microsoft OLE DB Driver (MSOLEDBSQL) per SQL Server in futuro.

ISSAsynchStatus espone il supporto per le operazioni asincrone di SQL Server. Si tratta di un'interfaccia facoltativa che eredita dall'interfaccia OLE DB principale IDBAsynchStatus. Oltre ai metodi Abort e GetStatus ereditati da IDBAsynchStatus, ISSAsynchStatus fornisce un nuovo metodo, utilizzato per attendere il completamento dell'operazione asincrona o il verificarsi di un timeout.

Metodo Descrizione
ISSAsynchStatus::Abort (OLE DB) Annulla un'operazione di esecuzione asincrona.
ISSAsynchStatus::GetStatus (OLE DB) Restituisce lo stato di un'operazione in esecuzione in modo asincrono.
ISSAsynchStatus::WaitForAsynchCompletion (OLE DB) Resta in attesa fino al completamento dell'operazione di esecuzione asincrona o fino al verificarsi di un timeout.

Osservazioni:

L'implementazione ISSAsynchStatus del metodo ISSAsynchStatus::GetStatus coincide con quella del metodo IDBAsynchStatus::GetStatus, ad eccezione del fatto che se l'inizializzazione di un'origine dati viene interrotta, viene restituito E_UNEXPECTED anziché DB_E_CANCELED (benché ISSAsynchStatus::WaitForAsynchCompletion restituisca DB_E_CANCELED). Ciò è dovuto al fatto che l'oggetto origine dati non viene lasciato nello stato consueto in seguito a un'operazione di interruzione, in modo da consentire ulteriori tentativi di operazioni di inizializzazione.

I metodi seguenti supportano l'uso dell'esecuzione asincrona in SQL Server:

  • ICommand::Execute

  • IOpenRowset::OpenRowset

  • IMultipleResults::GetResult

Vedi anche

Interfacce [OLE DB]
Esecuzione di operazioni asincrone