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à interrotto. 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, se lo stato XACT_ABORT del server è ON, l'esecuzione di ISSAbort::Abort terminerà qualsiasi transazione implicita o esplicita e ne eseguirà il rollback durante la connessione a SQL Server. Nelle versioni precedenti di SQL Server la transazione corrente non viene interrotta.

Argomenti

Nessuno.

Valori restituiti

  • 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, utilizzare l'interfaccia ISQLServerErrorInfo.

  • E_UNEXPECTED
    La chiamata al metodo è stata effettuata in modo imprevisto. Lo stato dell'oggetto, ad esempio, è in dubbio in quanto ISSAbort::Abort è già stato chiamato.

  • E_OUTOFMEMORY
    Errore di memoria insufficiente.

Vedere anche

Altre risorse