Bde.DBTables.TDatabase.TransIsolation

De RAD Studio API Documentation
Aller à : navigation, rechercher

Delphi

property TransIsolation: TTransIsolation read FTransIsolation write FTransIsolation default tiReadCommitted;

C++

__property TTransIsolation TransIsolation = {read=FTransIsolation, write=FTransIsolation, default=1};

Propriétés

Type Visibilité  Source Unité  Parent
property published
Bde.DBTables.pas
Bde.DBTables.hpp
Bde.DBTables TDatabase

Description

Spécifie le niveau d'isolement des transactions géré par le moteur de Database Borland (BDE).

La propriété TransIsolation permet de spécifier le niveau d'isolement des transactions pour les transactions de base de données gérées par le BDE. Le niveau d'isolement des transactions détermine comment une transaction interagit avec d'autres transactions simultanées opérant sur les même tables et ce que la transaction sait du travail effectué par les autres transactions.

Remarque :  Les applications utilisant SQL transparent pour gérer les transactions doivent transmettre directement au serveur de bases de données le niveau d'isolement de la transaction en utilisant l'instruction SQL appropriée.

TransIsolation peut prendre l'une des valeurs suivantes :



Niveau d'isolation Signification

tiDirtyRead

Permet la lecture des modifications non validées de la base de données effectuées par des transactions simultanées. Les modifications non validées ne sont pas permanentes, elles peuvent êtres annulées à tout moment. C'est le niveau le plus bas d'isolement d'une transaction par rapport aux effets d'autres transactions.

tiReadCommitted

Permet la lecture des modifications validées (permanentes) de la base de données effectuées par des transactions simultanées. C'est la valeur par défaut de la propriété TransIsolation.

tiRepeatableRead

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 garantit qu'une fois un enregistrement lu par la transaction, l'enregistrement ne change que si la transaction le change. C'est le niveau maximum d'isolement d'une transaction par rapport aux autres transactions.



Différents serveurs de bases de données gèrent différents niveaux d'isolation de transaction. Si une application définit TransIsolation à un niveau non géré pour un serveur SQL distant, le BDE utilise le niveau immédiatement supérieur géré par ce serveur. Le tableau suivant résume les niveaux d'isolation gérés par les serveurs reconnus par le BDE :


Serveur Niveau spécifié Niveau utilisé

Oracle

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiReadCommitted | tiReadCommitted | tiRepeatableRead (READONLY)

Sybase, MS-SQL

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiReadCommitted | tiReadCommitted | Non supporté

DB2

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiDirtyRead | tiReadCommitted | tiRepeatableRead

Informix

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiDirtyRead | tiReadCommitted | tiRepeatableRead

InterBase

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiReadCommitted | tiReadCommitted | tiRepeatableRead

Paradox, dBASE, Access, FoxPro

tiDirtyRead | tiReadCommitted | tiRepeatableRead

tiDirtyRead | Non supporté | Non supporté



Remarque :  Pour les transactions locales avec Paradox ou dBASE, TransIsolation doit avoir la valeur tiDirtyRead. Sinon, une exception est déclenchée.

Si une application utilise ODBC comme interface avec un serveur, le pilote ODBC doit également gérer le niveau d'isolement. Pour plus d'informations sur les niveaux d'isolement gérés, voir la documentation du pilote ODBC.

Voir aussi