Try OpenEdge Now
skip to main content
DataServer for Microsoft SQL Server
Troubleshooting : ODBC options : Using MS SQL Server and DataServer options : RECID/ROWID format: the variable length option : Old format RECID Buffer size: the ZPRGRS_RECID_BUF_SIZE,nnn Option
 
Old format RECID Buffer size: the ZPRGRS_RECID_BUF_SIZE,nnn Option
The DataServer for MS SQL Server tries to select a unique index over each table defined in your schema holder to support the Progress RECID/ROWID functions. RECID functionality enables backward and forward scrolling in the DataServer product. The RECID buffer is used to sort 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 or contains large column names, the RECID key information might exceed the RECID buffer size and issue error message 2090. If you exceed the RECID buffer limit, Progress Software Corporation first recommends that you try to find an alternative unique index with a smaller number of key fields. This should help to improve performance during record access as well. You can change the RECID index in the Data Dictionary by selecting the DataServer button from the Table Properties of the table in your schema holder.
If it is not possible to change the selected RECID unique index for the table that is causing the buffer overflow, you can expand the area by setting the startup option as follows:
-Dsrv ZPRGRS_RECID_BUF_SIZE,nnn
Where nnn is the new size of the area in bytes. The range limits for nnn are inclusive of values between 44 to 1024.
You can expand the RECID buffer size to a maximum of 1000 bytes. The minimum size is 44 bytes. The algorithm to determine minimum adjusted size is as follows:
*9 + Length of first Index column name + Length of first column data + 17
*+ Length of second Index column name + Length of second column data + 22
*+ Length of third Index column name + Length of third column data + 22
*+ ...