Consultor Eletrônico



Kbase P133192: While inserting and updating multiple records simultaneously using MS SQL Server DataServer error 26
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   2/27/2009
Status: Unverified

SYMPTOM(s):

While inserting and updating multiple records simultaneously using MS SQL Server DataServer error 2624 is displayed intermittently

<file-name> in use by <user> on <tty>. Wait or choose CANCEL to stop. (2624)

The above error disappear itself in a couple seconds

All the records are created on the MS SQL Server database

FACT(s) (Environment):

Windows NT 32 Intel/Windows 2000
OpenEdge 10.1B
OpenEdge 10.1C

CAUSE:

With the DataServer for MS SQL Server, when an OpenEdge client can not obtain a record lock, the server timed out immediately and control was returned to the client to handle lock retries. This is desirable behavior for clients that want immediate control over lock handling. The default value for the Microsoft SQL Server LOCK_TIMEOUT is zero for for all the connections established from the OpenEdge client. This zero value for the LOCK_TIMEOUT causes in immediate return of control back to the OpenEdge client when a lock condition is received from the back-end server (MS SQL Server) side. However, the OE client internally retries by passing the retries to the server That is the reason the 2624 error goes way by itself when the lock is released on the record on the MS SQL Server.

FIX:

Staring OE10.1B02, progress introduced a -Dsrv switch named PRGRS_NATIVE_LOCKWAIT which sets the server LOCK_TIMEOUT in millisecond. This will cause the MS SQL Server to suppress server timeout with the specified value. Use the PRGRS_NATIVE_LOCKWAIT parameter starting with a value of 5 with small increment until the error is disappears.

-Dsrv PRGRS_NATIVE_LOCKWAIT,5