ISSAsynchStatus (provider OLE DB di Native Client)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure azure Synapse Analytics Analytics Platform System (PDW)
Importante
SQL Server Native Client (spesso abbreviato SNAC) è stato rimosso da SQL Server 2022 (16.x) e da SQL Server Management Studio 19 (SSMS). Il provider OLE DB di SQL Server Native Client (SQLNCLI o SQLNCLI11) e il provider OLE DB legacy Microsoft per SQL Server (SQLOLEDB) non sono consigliati per lo sviluppo di nuove applicazioni. In futuro, passare al nuovo driver Microsoft OLE DB (MSOLEDBSQL) per SQL Server.
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