ISSAbort::Abort (OLE DB)

Annule l'ensemble de lignes actuel plus toutes les commandes par lot associées à la commande actuelle.

Syntaxe

HRESULT Abort(void);

Notes

Si la commande abandonnée se trouve dans une procédure stockée, l'exécution de la procédure stockée (et de toutes les procédures ayant appelé cette procédure) sera annulée, tout comme le lot de commandes contenant l'appel de procédure stockée. Si le serveur est en cours de transfert d'un jeu de résultats vers le client, cette opération sera arrêtée. Si le client ne souhaite pas consommer un jeu de résultats, l'appel de la méthode ISSAbort::Abort avant la diffusion de l'ensemble de lignes permettra d'accélérer cette dernière. En revanche, si une transaction est ouverte et si XACT_ABORT est défini sur ON (c'est-à-dire activé), la transaction sera restaurée lors de l'appel de la méthode ISSAbort::Abort.

Dès que ISSAbort::Abort retourne S_OK, l'interface IMultipleResults associée adopte un état inutilisable et retourne DB_E_CANCELED à tous les appels de méthode (sauf pour les méthodes définies par l'interface IUnknown) jusqu'à ce qu'elle soit diffusée. Si une interface IRowset a été obtenue à partir de l'interface IMultipleResults avant un appel à à Abort, elle adopte également un état inutilisable et retourne DB_E_CANCELED à tous les appels de méthode (sauf pour les méthodes définies par l'interface IUnknown et IRowset::ReleaseRows) jusqu'à ce qu'elle soit diffusée après l'appel en bonne et due forme de la méthode ISSAbort::Abort.

[!REMARQUE]

En commençant par SQL Server 2005, si l'état XACT_ABORT du serveur est défini sur ON, l'exécution de la méthode ISSAbort::Abort prendra fin et restaurera toutes les transactions implicites ou explicites actuelles lors de la connexion à SQL Server. Les versions antérieures de SQL Server n'abandonneront pas la transaction actuelle.

Arguments

Aucun.

Valeurs de code de retour

  • S_OK
    La méthode ISSAbort::Abort retourne S_OK si le lot a été annulé ou bien DB_E_CANTCANCEL dans le cas inverse. Si le lot a déjà été annulé, DB_E_CANCELED est retourné.

  • DB_E_CANCELED
    Le lot a déjà été annulé.

  • DB_E_CANTCANCEL
    Le lot n'a pas été annulé.

  • E_FAIL
    Une erreur propre au fournisseur s'est produite. Pour obtenir des informations détaillées, utilisez l'interface ISQLServerErrorInfo.

  • E_UNEXPECTED
    L'appel à la méthode était inattendu. Par exemple, l'objet est dans un état zombie parce que la méthode ISSAbort::Abort a déjà été appelée.

  • E_OUTOFMEMORY
    Erreur de mémoire insuffisante.

Voir aussi

Autres ressources