Consultor Eletrônico



Kbase P119358: Locking error "Failure getting record lock on a record from table" occurs in Crystal Reports when De
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/01/2010
Status: Verified

SYMPTOM(s):

Using Crystal Reports to generate reports against a Progress database

Locking errors occurs when running reports

Failed to open a rowset.
Query Engine Error: 'HY000:[DataDirect][ODBC Progress driver][PROGRESS] Failure getting record lock on a record from table PUB.<table>.'

Connection to the database is established using a Progress ODBC driver

ODBC DSN is configured with a Default Isolation Level of Read Uncommitted

Records used in the report are being queried by 4GL users at the time the reports are run

-210015 [JDBC Progress Driver]:Failure getting record lock

Error 210015
Subclass Message: Failure getting record lock on a record table <table-name>

FACT(s) (Environment):

Crystal Reports 9
Crystal Reports 10
Windows

CAUSE:

Crystal Reports 9 and 10 set their own Isolation Level which may not be Read Uncommitted

FIX:

IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs.

1) Start Regedit
2) Go to:

Crystal Reports 9
HKEY_CURRENT_USER\Software\Crystal Decisions\9.0\Crystal Reports\Database\ODBC

Crystal Reports 10
HKEY_CURRENT_USER\Software\Crystal Decisions\10.0\Crystal Reports\Database\ODBC

Crystal Reports XI Release 1 and BusinessObjects XI Release 1

HKEY_LOCAL_MACHINE\Software\Business Objects\Suite 11\Crystal Reports\Database\ODBC

Crystal Reports XI Release 2 and BusinessObjects XI Release 2

HKEY_LOCAL_MACHINE\Software\Business Objects\Suite 11\Crystal Reports\Database\ODBC

Crystal Reports for Visual Studio .Net 2002, 2003

HKEY_LOCAL_MACHINE\Software\Crystal Decisions\9.0\Crystal Reports\Database\ODBC

3) If not exists yet create a "DWORD value" called "IsolationLevel"

4) Change the value of "IsolationLevel" to 1

The possible values are:

1 (uncommitted read)
2 (committed read)
4 (repeatable read)
8 (serializable read).