Condividi tramite


ISSAbort::Abort (OLE DB)

Annulla il set di righe corrente oltre a qualsiasi comando eseguito in batch associato al comando corrente.

Sintassi

  
HRESULT Abort(void);  

Osservazioni

Se il comando interrotto è in una stored procedure, l'esecuzione della stored procedure (e di qualsiasi procedura che ha chiamato la procedura) verrà terminata insieme al 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 entra in uno stato inutilizzabile e restituisce DB_E_CANCELED a tutte le chiamate al metodo (ad eccezione dei metodi definiti dall'interfaccia IUnknown ) fino al rilascio. 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, 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

No.

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.

Vedere anche

ISSAbort (OLE DB)