FireDAC.Stan.Option.TFDTxOptions.Isolation
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 |
|
Utilise le niveau d'isolement SGBD par défaut. Il s'agit de la valeur par défaut de la propriété Isolation. |
|
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). |
|
Permet la lecture des modifications validées (permanentes) effectuées dans la base de données par d'autres transactions simultanées. |
|
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. |
|
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. |
|
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. |