ISSAbort::Abort (provider OLE DB di Native Client)
Si applica a: SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di strumenti analitici (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.
Annulla il set di righe corrente oltre a qualsiasi comando eseguito in batch associato al comando corrente.
L'interfaccia ISSAbort , esposta nel provider OLE DB di SQL Server Native Client, fornisce il metodo ISSAbort::Abort utilizzato per annullare il set di righe corrente e tutti i comandi inseriti in batch con il comando che inizialmente ha generato il set di righe e che non hanno ancora completato l'esecuzione.
ISSAbort è un'interfaccia specifica del provider SQL Server Native Client disponibile usando QueryInterface nell'oggetto IMultipleResults restituito da ICommand::Execute o IOpenRowset::OpenRowset.
Sintassi
HRESULT Abort(void);
Osservazioni:
Se il comando interrotto si trova in una stored procedure, l'esecuzione della stored procedure (e di tutte le procedure che avevano chiamato tale routine) verrà terminata, nonché il batch di comandi che contiene la chiamata alla stored procedure. Se nel server è in corso il trasferimento di un set di risultati al client, questo processo verrà arrestato. Se il client non desidera utilizzare un set di risultati, la chiamata a ISSAbort::Abort prima di rilasciare il set di righe accelererà il rilascio del set di righe, ma se è presente una transazione aperta e XACT_ABORT è ON, verrà eseguito il rollback della transazione quando viene chiamato ISSAbort::Abort
Dopo che ISSAbort::Abort restituisce S_OK, l'interfaccia IMultipleResults associata passa in uno stato inutilizzabile e restituisce DB_E_CANCELED a tutte le chiamate ai metodi, ad eccezione dei metodi definiti dall'interfaccia IUnknown, fino a quando non viene rilasciata. Se si ottiene un'interfaccia IRowset da IMultipleResults prima di una chiamata a Abort, anche questa interfaccia passa in uno stato inutilizzabile e restituisce DB_E_CANCELED a tutte le chiamate ai metodi, ad eccezione dei metodi definiti dall'interfaccia IUnknown e da IRowset::ReleaseRows, fino a quando non viene rilasciata in seguito a una chiamata riuscita a ISSAbort::Abort.
Nota
A partire da SQL Server 2005 (9.x), se lo stato del server XACT_ABORT è ATTIVATO, l'esecuzione di ISSAbort::Abort terminerà ed eseguirà il rollback di qualsiasi transazione implicita o esplicita corrente quando si è connessi a SQL Server. Nelle versioni precedenti di SQL Server la transazione corrente non viene interrotta.
Argomenti
Nessuno.
Valori del codice restituito
S_OK
Il metodo ISSAbort::Abort restituisce S_OK se il batch è stato annullato e DB_E_CANTCANCEL in caso contrario. Se il batch è già stato annullato, viene restituito DB_E_CANCELED.
DB_E_CANCELED
Il batch è già stato annullato.
DB_E_CANTCANCEL
Il batch non è stato annullato.
E_FAIL
Si è verificato un errore specifico del provider. Per informazioni dettagliate, usare l'interfaccia ISQLServerErrorInfo.
E_UNEXPECTED
La chiamata al metodo non era prevista. Lo stato dell'oggetto, ad esempio, è in dubbio in quanto ISSAbort::Abort è già stato chiamato.
E_OUTOFMEMORY
Errore di memoria insufficiente.