Consultor Eletrônico



Kbase P135647: SQL query is leaving a transaction open even though the default isolation state is READ UNCOMMITED.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   13/08/2009
Status: Verified

SYMPTOM(s):

A SQL query is leaving a transaction open even though the default isolation state is set to READ UNCOMMITED.

The SQL query is run by a Crystal Reports client.

Checking the transaction table (with the following ABL program) after the query is run shows that a transaction is still active:
FOR EACH _Trans WHERE _Trans._trans-state <> ?:
display _Trans.
END.

The BI file continues to grow over time until the BI Threshold value is reached.

The transaction remains active until the SQL client disconnects from the database.

No long running 4gl transactions identified in promon

Active transaction can be created using WinSQL catalog view.

FACT(s) (Environment):

If the SQL client remains connected for an extended period of time, then the BI file can continue to grow to the point where either a BI threshold is reached, or all BI space is used. If the threshold is reached and no -bistall startup parameter is specified, or all BI space is used up, then the database will be automatically shut down.
The default isolation level for the System DSN being used for the ODBC connection is set to READ UNCOMMITTED.
The same behavior is not observed using the Progress OpenEdge 10.0B ODBC driver.
Windows
Progress OpenEdge 10.1C driver
Crystal Reports
OpenEdge 10.1C
OpenEdge 10.1B

CAUSE:

Bug# OE00169557

CAUSE:

Reading a database table using ODBC tools like Crystal or MSQuery with a READ UNCOMMITTED transaction isolation level set at the ODBC DataSource level causes a transaction to remain active if the Progress OpenEdge 10.1C ODBC Driver is used.

FIX:

Upgrade to 10.1C02 or later.