Partager via


ISSAbort ::Abort (fournisseur OLE DB Native Client)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

SQL Server Native Client (souvent abrégé en SNAC) a été supprimé dans SQL Server 2022 (16.x) et SQL Server Management Studio 19 (SSMS). Le fournisseur OLE DB pour SQL Server Native Client (SQLNCLI ou SQLNCLI11) et le fournisseur Microsoft OLE DB hérité pour SQL Server (SQLOLEDB) ne sont pas recommandés dans les nouveaux développements. Utilisez à la place le nouveau Microsoft OLE DB Driver (MSOLEDBSQL) pour SQL Server.

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

L’interface ISSAbort , exposée dans le fournisseur OLE DB SQL Server Native Client, fournit la méthode ISSAbort ::Abort utilisée pour annuler l’ensemble de lignes actuel, ainsi que toutes les commandes traitées par lot avec la commande qui a initialement généré l’ensemble de lignes et qui n’ont pas encore terminé l’exécution.

ISSAbort est une interface spécifique au fournisseur SQL Server Native Client disponible à l’aide de QueryInterface sur l’objet IMultipleResults retourné par ICommand ::Execute ou IOpenRowset ::OpenRowset.

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 toutes les procédures qui avaient appelé cette procédure) sont arrêtées, ainsi que le lot de commandes qui contient 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 .

Une fois que ISSAbort::Abort a retourné S_OK, l’interface IMultipleResults associée entre dans 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 libéré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

À compter de SQL Server 2005 (9.x), si l’état du serveur XACT_ABORT est ACTIVÉ, l’exécution de ISSAbort ::Abort se termine et restaure toute transaction implicite ou explicite actuelle lorsqu’il est connecté à SQL Server. Les versions antérieures de SQL Server n'abandonneront pas la transaction actuelle.

Arguments

Aucun.

Codet 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 spécifique 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

ISSAbort (OLE DB)