Consultor Eletrônico



Kbase 18932: ODBC Dataserver And Record Locking
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   7/15/2008
Status: Unverified

GOAL:

ODBC Dataserver And Record Locking

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x
All Supported Operating Systems

FIX:

The Progress DataServer does not control record locking but rather passes the responsibility onto the data source. ODBC (the standard) allows you to select the locking behavior in your data source by modifying the isolation level.

This can be utilized when using the Progress ODBC DataServer with the -Dsrv TXN_ISOLATION connection parameter. This parameter allows the user to set the isolation level at connect time and for the duration of the session. It is important to investigate what the driver supports in terms of these isolation levels.

The Exclusive-lock syntax on a FOR EACH or a FIND has no affect on the transaction. The DataServer only places a read lock on the record until the end of the transaction. At that time ONLY, the record is re-read exclusively and updated. Any contention between that update and anyone else who happens to be updating at the end of a transaction is managed by the data source alone.

It is important when writing ODBC applications, that research is done against how the Data Source handles record locking. It is also important to investigate what ISOLATION LEVEL support the driver is capable of. A good source of information about the
isolation levels a re found in the ODBC Programmer's Manual.