Try OpenEdge Now
skip to main content
DataServer for Microsoft SQL Server
Troubleshooting : ODBC options : DataServer options
 

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.
Table 68. DataServer 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 ODBC_DEF_MAXBLOCKSZ, or 1MB.
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 PRGRS_MINBUF is the size of the largest record data size plus 500 bytes. This can prevent run-time record expansion during the retrieval of query results.
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 NO-WAIT has been specified in an ABL statement that requires a database lock.
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:
-Dsrv PRGRS_IDBUF,100
See Using MS SQL Server and DataServer options for information on when and how to use these options.