DataServer options
- Last Updated: March 30, 2020
- 1 minute read
- OpenEdge
- Version 12.2
- Documentation
DataServer options
In addition to the ODBC-defined options, the DataServer
provides a number of -Dsrv options that are defined
on the DataServer side of a connection. Most of the DataServer options
have a name of the form PRGRS_option-name,
to reflect its origin. The following table lists and describes these
options.
| Option | Description |
|---|---|
PRGRS_ALWAYS_INDEX |
Specifies if the DataServer should always order result sets. The
value is either 1 for YES or 0 for NO. If this option is set off, then results that do
not explicitly describe a desired ordering and/or that do not require
ordering will be returned unordered. (The default setting is 0.) Note: The
driver and data source need to have the capability to preserve cursors beyond a
transaction boundary in order for the PRGRS_ALWAYS_INDEX option to
be available. |
PRGRS_BLOCK_CURS |
Specified if the DataServer should use block cursors for
NO-LOCK queries. The value is either 1 for
YES or 0 for NO. This option is set to 1 by default. |
PRGRS_CACHE_CONN |
Specifies a maximum value to indicate the number of ODBC connections that can be cached without having to close existing connections. The default is 5. |
PRGRS_CONNECT |
Passes a connection string to the ODBC driver. |
PRGRS_DATEPART_OVERRIDE |
Specifies the date component used to override the current date when
an MSS Time column is converted to an OpenEdge DATETIME data
type. |
PRGRS_IDBUF |
Specifies the number of keys in the scrolling buffer. The value must be greater than 0. The default value is 25 keys. This parameter applies to all nonlookahead cursors. |
PRGRS_LOCK_ERRORS |
Specifies that when an application gets the stated error message, standard ABL error-handling behavior occurs (that is, OpenEdge waits and retries rather than halting). Valid values are native ODBC data source error message numbers. |
LOGGINGLEVEL |
Specifies the level at which log entries are written. For more information, see Analyzing application execution with Enhanced Logger. |
LOGENTRYTYPES |
Specifies one or more types of log entries. For more information, see Analyzing application execution with Enhanced Logger. |
PRGRS_MAX_BLOCKSIZE |
Specifies the size in bytes of the total allowable memory for all block cursors. By default, this value is set to |
PRGRS_MINBUF |
Specifies the minimum size of the buffer used to get data from the DataServer. Use this keyword only with drivers that fail to fetch large records. The default value is 500 bytes. If you specify a value smaller than the default, OpenEdge uses the default value. The optimal setting for Note: Do not use this option when the
-Dsrv
BINDING switch is set to 3. With the binding set to 3, the size of the
data is known, and this switch will cause the allocation of unneeded additional
memory. |
PRGRS_NATIVE_LOCKWAIT |
Specifies the server-based wait period in which the server will block
wait for access to a locked resource before returning to a MSS DataServer client
application. The default value is zero, meaning that control is returned to the client
immediately upon receiving a lock condition from the server. Note: A
number of milliseconds is recommended at startup for transactional applications that
anticipate a higher contention for server resources. The optimal value is
application-specific. |
PRGRS_NO_INDEX |
Suppresses index creation at schema import time. If you specify a
value of 1 for -Dsrv PRGRS_NO_INDEX, you must
create the indexes manually in the schema holder. |
PRGRS_PREPCACHE |
Specifies the maximum number of prepared statements to be kept in cache. The default value is 20 statements. |
PRGRS_TABLE_BLOCKSIZE |
Specifies the total amount of memory allowed for block cursor use per table. The default value is ODBC_DEF_TABBLOCKSZ, 65,000 bytes. |
PRGRS_PROC_TRAN |
The value is either 1 for ON or 0 for OFF. Allows a stored procedure to run in a separate connection. This allows OpenEdge to issue concurrent, active requests for running a stored procedure. |
PRGRS_STABLE_CURS |
The value is either 1 for ON or
0 for OFF. Enabling this option forces the DataServer to act
as though cursors have stability across transaction boundaries. Note: This
option can cause unpredictable query results if not used properly. See Cursor characteristics: the PRGRS_STABLE_CURS option for details on the
restrictions. |
PRGRS_WAIT_DELAY |
Specifies the number of seconds to wait for a lock response from the driver when
using the driver in asynchronous mode and The default value is 2. Note: This option has no affect when running in synchronous mode.
|
QT_FIREHOSE |
Specifies that the firehose cursor must be implemented for processing
NO-LOCK queries in the current session whenever connection
resources are available to do so.Note: By default, all sessions will
attempt to use firehose cursors for faster cursor processing. For information on
cursors, see Cursors. |
QT_NO_FIREHOSE |
Specifies that the firehose cursor must not be implemented for
processing cursors in the current session. Note: This option disables the
default processing of NO-LOCK queries using the firehose cursors.
For information on cursors, see Cursors. |
PRGS_JOIN_NOKEYCACHE |
Disables key-cache population for the scenario where the first GET
statement is called with EXCLUSIVE LOCK. Users can override this
switch for a particular ABL query by setting the
QUERY-TUNING(KEYCACHE-JOIN) switch to ABL query. The default value
for this connection switch is OFF. |
The following example of the -Dsrv startup parameter
sets the number of keys in the nonlookahead scrolling buffer to
100:
|
See Using MS SQL Server and DataServer options for information on when and how to use these options.