Consultor Eletrônico



Kbase P26126: Error 2090 solved by expanding recid buffer Using startup parameters
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   04/08/2005
Status: Verified

FACT(s) (Environment):

MS SQL DataServer
ODBC DataServer
Progress 9.1D
Progress 9.1E
OpenEdge 10.x

SYMPTOM(s):

DataServer client fails with error 2090

Record ID is larger than <max-recid>. (2090)

PROGRESS_RECID is not created in foreign database

An alternative unique index with a smaller number of key fields to represent the Progress RECID is not possible

CAUSE:

If you do not select the Progress RECID field in your Progress-to foreign Database conversion, then a unique index over each table is selected to support Progress RECID/ROWID functions. RECID functionality enables backward and forward scrolling in the DataServer for Microsoft SQL Server and ODBC products.

In Progress Version 9.1D, the RECID buffer is used to store key information about the unique index selected to support RECID. The default RECID buffer size is 245 bytes. The space is used dynamically to allocate the RECID buffer for a given record. The RECID buffer size needs to be large enough to contain all the key information regarding the unique index. If the unique index selected is a composite of many columns and/or contains large column names, the RECID key information might exceed the RECID buffer size and issue an error message 2090.

FIX:

Use "-Dsrv ZPRGRS_RECID_BUF_SIZE,xxx"

Where xxx is the new size of the area in bytes.

You can expand the RECID buffer to a maximum of 1000 bytes