Partager via


COMAdminTxIsolationLevelOptions, énumération (comadmin.h)

Indique le niveau d’isolation à utiliser pour les transactions.

Syntax

typedef enum COMAdminTxIsolationLevelOptions {
  COMAdminTxIsolationLevelAny = 0,
  COMAdminTxIsolationLevelReadUnCommitted,
  COMAdminTxIsolationLevelReadCommitted,
  COMAdminTxIsolationLevelRepeatableRead,
  COMAdminTxIsolationLevelSerializable
} ;

Constantes

 
COMAdminTxIsolationLevelAny
Valeur : 0
Tout niveau d’isolation est pris en charge. Un composant en aval qui a ce niveau d’isolation utilise toujours le même niveau d’isolation que son composant de amont immédiat utilise. Si le niveau d’isolation de l’objet racine d’une transaction est configuré sur COMAdminTxIsolationLevelAny, son niveau d’isolation devient COMAdminTxIsolationLevelSerializable.
COMAdminTxIsolationLevelReadUnCommitted
Une transaction peut lire n’importe quelle donnée, même si elle est modifiée par une autre transaction. Tout type de nouvelles données peut être inséré pendant une transaction. Il s’agit du niveau d’isolation le moins sûr, mais permet la concurrence la plus élevée.
COMAdminTxIsolationLevelReadCommitted
Une transaction ne peut pas lire les données qui sont modifiées par une autre transaction qui n’a pas été validée. Tout type de nouvelles données peut être inséré pendant une transaction. Il s’agit du niveau d’isolation par défaut dans Microsoft SQL Server.
COMAdminTxIsolationLevelRepeatableRead
Les données lues par une transaction actuelle ne peuvent pas être modifiées par une autre transaction tant que la transaction actuelle n’est pas terminée. Tout type de nouvelles données peut être inséré pendant une transaction.
COMAdminTxIsolationLevelSerializable
Les données lues par une transaction actuelle ne peuvent pas être modifiées par une autre transaction tant que la transaction actuelle n’est pas terminée. Aucune nouvelle donnée ne peut être insérée qui affecterait la transaction actuelle. Il s’agit du niveau d’isolation le plus sûr et est la valeur par défaut, mais autorise le niveau d’accès concurrentiel le plus bas.

Remarques

Cette énumération est utilisée pour configurer le niveau d’isolation des transactions pour les composants qui utilisent des transactions. Il est également utilisé pour configurer le niveau d’isolation pour l’utilisation du service de transaction sans composants en étant passé en tant que paramètre à IServiceTransactionConfigBase ::IsolationLevel. Cette méthode est appelée par le biais de CServiceConfig pour le travail envoyé via l’activité créée par CoCreateActivity ou le travail qui est placé entre les appels à CoEnterServiceDomain et CoLeaveServiceDomain.

Si un composant en aval est configuré avec un niveau d’isolation supérieur à celui d’un composant amont et tente de s’inscrire dans une transaction, une erreur se produit et la transaction est abandonnée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête comadmin.h

Voir aussi

CoCréateActivity

CoEnterServiceDomain

Configuration des niveaux d’isolation des transactions