Kbase P104694: SQL-92: Error: Failure getting record lock on a record from table executing a query.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/26/2008 |
|
Status: Verified
SYMPTOM(s):
SQL-92: Error: Failure getting record lock on a record from table executing a query.
DIAG [S1000] [DataDirect-Technologies][ODBC PROGRESS driver][PROGRESS]Failure getting record lock on a record from table <table>. (-210015)
DIAG [S1000] [DataDirect-Technologies][ODBC PROGRESS driver][PROGRESS]Failure getting record lock on a record from table PUB.sod_det. (-210015)
The query fails to return the correct result set when executed from a Visual Basic ODBC client application.
The same query returns the correct result set when executed through the Progress SQL Explorer JDBC client tool.
The same query returns the correct result set when executed through the WinSql ODBC client tool.
Using the following DSNless connection string:
"Provider=MSDASQL.1;Extended Properties=DRIVER=MERANT 3.60 32-BIT Progress SQL92 v9.1D;UID=odbcadm;PWD=;HOST=aos01.ccs.ppg.com;PORT=31200;DB=ascus;"
The application code sets the transaction isolation level at run time.
FACT(s) (Environment):
Windows
Progress 9.x
CAUSE:
The wrong Visual Basic syntax was being used to set the connection string and the transaction isolation level.
FIX:
Correct the Visual Basic syntax to set the connection string and the transaction isolation level. For details on the correct DSNless connection string syntax, see the Progress Knowledge Center Solution number: P97292, "Is it possible to create a DSNLESS connection to a Progress database from an ASP page?" . Refer to the Visual Basic documentation for the correct syntax of setting the desired transaction isolation level. For example:
myConnection.IsolationLevel = adXactReadUncommitted
Or
myConnection.IsolationLevel = 256