FireDAC.Stan.Option.TFDTxOptions.Isolation

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property Isolation: TFDTxIsolation read FIsolation write SetIsolation  default xiUnspecified;

C++

__property TFDTxIsolation Isolation = {read=FIsolation, write=SetIsolation, default=0};

Propriétés

Type Visibilité  Source Unité  Parent
property published
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option TFDTxOptions


Description

Spécifie le niveau d'isolation des transactions pour les transactions gérées par FireDAC.

Utilisez la propriété Isolation pour spécifier le niveau d'isolement des transactions pour les transactions suivantes dans la session en cours. Changer un niveau d'isolement n'affecte pas une transaction actuellement active. La valeur par défaut est xiUnspecified

Si un utilisateur souhaite utiliser un niveau d'isolement différent de celui utilisé par défaut par la base de données, il doit le définir explicitement dans la configuration du composant ou dans le code.

La valeur de la propriété Isolation est indépendante du SGBD et elle est traduite dans le niveau d'isolement SGBD natif le plus proche.

Niveau 

Description 

xiUnspecified

Utilise le niveau d'isolement SGBD par défaut.  Il s'agit de la valeur par défaut de la propriété Isolation

xiDirtyRead

Permet la lecture des modifications non validées effectuées dans la base de données par d'autres transactions simultanées. Les modifications non validées ne sont pas permanentes et peuvent être annulées à tout moment. C'est le niveau le plus bas d'isolement d'une transaction (celui où elle est le plus exposée aux effets des autres transactions). 

xiReadCommitted

Permet la lecture des modifications validées (permanentes) effectuées dans la base de données par d'autres transactions simultanées.

xiRepeatableRead

Ne permet qu'une seule lecture de la base de données. La transaction ne peut connaître les modifications effectuées ultérieurement par d'autres transactions simultanées. Ce niveau d'isolation garantit que dès qu'une transaction lit un enregistrement, la vue de cet enregistrement ne change pas à moins que la transaction effectue elle-même une modification à l'enregistrement. A ce niveau, une transaction est la plus isolée des effets des autres transactions.

xiSnapshot

Permet de lire les dernières valeurs validées qui existaient au moment du démarrage. Ce niveau d'isolement garantit que toutes les requêtes exécutées dans la transaction voient le même instantané de la base de données, en fonction de l'état de cette dernière au début de la transaction.  

xiSerializible 

Niveau d'isolement le plus élevé, qui empêche les autres utilisateurs de mettre à jour les données jusqu'à ce que la transaction soit terminée. Ce niveau d'isolement spécifie que toutes les transactions se produisent de façon isolée, émulant l'exécution en série de toutes les transactions validées, comme si les transactions étaient exécutées séquentiellement, les unes après les autres.

Voir aussi

Exemples