SQL Server SQL Driver Attributes |
The SQL driver for SQL Server has many attributes that can be finetuned to improve handling in scenarios with unreliable network connections to the SQL Server server or high-volumes of data. Also, many drivers have driver-specific attributes to finetune actual behaviour or handle data not matching specifications.
The SQL Server driver attributes are assigned a default value which seldom requires change. However, changes can be applied when needed on four levels, which are reflected in the table below by separate checkmarks:
•Connection string: the connection string from the settings*.xml file and applied during log on.
•Set SQL statement: a set SQL-statement to be executed once connection has been established.
•Drivers file: the providers.xml file (obsolete starting release 17.32).
•Log on: value to be specified interactively by user during log on in a user interface.
The connection string for SQL Server can be found in the settings*.xml file used for the database. Settings*.xml files are typically located in the %USERPROFILE%\invantive folder in most deployment scenarios. The reference manuals contain instructions how to relocate the settings*.xml files. Each data container of a database in the connection string can have a connectionString element specifying the name and values of attributes. Both name and value must be properly escaped according to XML-semantics. Actual application of the value is solely done during log on. A new connection must be established to change the value of a driver attribute using a connection string.
The set SQL statement can be executed after log on. The syntax is: set NAME VALUE, or for a distributed database: set NAME@ALIAS VALUE. In some scenarios you may need to enclose the driver attribute name in square brackets to escape it from parsing, for instance when a reserved SQL keyword is part of the name. The new value takes effect straight after execution of the set-statement. The set-statement can be executed as often as needed during a session.
Driver attributes that can be interactively set to a value are typically presented in the log on window. Depending on the platform and design decisions of the user interface designer, some or all of the available driver attributes can have been made available.
The SQL Server driver can be configured using the following attributes:
Code |
Description |
Origin |
Default Value |
Set from Connection String |
Set from Set SQL-Statement |
Set from Drivers File |
Set from Log On |
---|---|---|---|---|---|---|---|
analysis-enforce-row-uniqueness |
Use for analysis only! Enforce rows to be unique. |
Shared |
False |
✓ |
✓ |
✓ |
|
bulk-delete-page-size-rows |
Number of rows to delete per batch when bulk deleting |
Shared |
3000 |
✓ |
✓ |
✓ |
|
bulk-insert-page-size-bytes |
Approximate maximum size in bytes of batch when bulk inserting |
Shared |
10000000 |
✓ |
✓ |
✓ |
|
bulk-insert-page-size-rows |
Number of rows to insert per batch when bulk inserting |
Shared |
3000 |
✓ |
✓ |
✓ |
|
bulk-insert-timeout-sec |
Number of seconds after which a bulk insert times out |
SQL Server |
300 |
✓ |
✓ |
✓ |
|
command-timeout-sec |
Number of seconds after which a command times out. |
|
|
✓ |
✓ |
✓ |
|
connection-string-async-add |
Should the 'Async' be added automatically to the connection string? |
SQL Server |
False |
✓ |
✓ |
✓ |
|
connection-string-async-value |
Size of the Async to be added to the connection string |
SQL Server |
True |
✓ |
✓ |
✓ |
|
connection-string-multiple-active-result-sets-add |
Should the 'MultipleActiveResultSets' be added automatically to the connection string? |
SQL Server |
True |
✓ |
✓ |
✓ |
|
connection-string-multiple-active-result-sets-value |
Value of MultipleActiveResultSets to be added to the connection string |
SQL Server |
True |
✓ |
✓ |
✓ |
|
force-case-sensitive-identifiers |
Consider identifiers as case-sensitive independent of the platform capabilities. |
Shared |
False |
✓ |
✓ |
✓ |
|
forced-casing-identifiers |
Forced casing of identifiers. Choose from Unset, Lower, Upper and Mixed. |
Shared |
|
✓ |
✓ |
✓ |
|
invantive-sql-correct-invalid-date |
Whether to correct dates considered invalid since they are before 01-01-1753. When nullable, they are removed. Otherwise they are replaced by 01-01-1753. |
SQL Engine V1 |
False |
✓ |
✓ |
✓ |
|
invantive-sql-forward-filters-to-data-containers |
Whether to forward filters to data containers. |
SQL Engine V1 |
True |
✓ |
✓ |
✓ |
|
invantive-sql-shuffle-fetch-results-data-containers |
Whether to shuffle results fetched from data containers. |
SQL Engine V1 |
False |
✓ |
✓ |
✓ |
|
invantive-use-cache |
Whether to cache the results of a query. |
SQL Engine V1 |
True |
✓ |
✓ |
✓ |
|
log-native-calls-to-disk |
Registers native calls to data container backend as disk files. |
Shared |
False |
✓ |
✓ |
✓ |
|
log-native-calls-to-trace |
Log native calls to data container backend on the trace. |
Shared |
False |
✓ |
✓ |
✓ |
|
maximum-length-identifiers |
Non-default maximum length in characters of identifier names. |
Shared |
|
✓ |
✓ |
✓ |
|
maximum-number-of-pooled-connections |
Maximum number of concurrent pooled connections. |
|
|
✓ |
✓ |
✓ |
|
maximum-sleep-acquire-pooled-connection-ms |
Maximum time in ms to wait for acquiring a free connection from a pool of connections. |
|
30000 |
✓ |
✓ |
✓ |
|
maximum-sleep-acquire-unpooled-connection-ms |
Maximum time in ms to wait for acquire a free connection when there is no connection pooling. |
|
60000 |
✓ |
✓ |
✓ |
|
max-url-length-accepted |
The maximum accepted URL length before raising an error. |
Shared |
8000 |
✓ |
✓ |
✓ |
|
max-url-length-desired |
The maximum desired URL length. |
Shared |
8000 |
✓ |
✓ |
✓ |
|
minimum-command-timeout-sec |
Minimum number of seconds after which a command times out. |
|
300 |
✓ |
✓ |
✓ |
|
minimum-connection-timeout-sec |
Minimum connection timeout in seconds. |
|
|
✓ |
✓ |
✓ |
|
on-close-sql |
Native SQL statements to execute directly before close. |
|
|
✓ |
✓ |
✓ |
|
on-open-sql |
Native SQL statements to execute directly after open. |
|
|
✓ |
✓ |
✓ |
|
open-connection-interval-sec |
Delay between retries in milliseconds when login fails. |
|
500 |
✓ |
✓ |
✓ |
|
open-connection-retries |
Maximum number of retries when login fails. |
|
2 |
✓ |
✓ |
✓ |
|
partition-slot-based-rate-limit-length-ms |
Total length in ms across all slots of a partition-based rate limit. |
Shared |
60000 |
✓ |
|
✓ |
|
partition-slot-based-rate-limit-slots |
Number of slots per partition-based rate limit. Null means no slot-based rate limit |
Shared |
|
✓ |
|
✓ |
|
pooled-connection-monitor-interval-sec |
Minimum interval in seconds between two connection pool monitor activations. |
|
60 |
✓ |
✓ |
✓ |
|
pooled-connection-release-obsolete-interval-sec |
Minimum interval in seconds between two tries to release obsolete connections from the connection pool when above the preferred number of connections. |
|
60 |
✓ |
✓ |
✓ |
|
pooled-connections-monitoring |
Enable monitoring of connections of connection pool for automatic cleanup of obsolete connections. |
|
True |
✓ |
✓ |
✓ |
|
preferred-number-of-pooled-connections |
Preferred number of concurrent pooled connections. |
|
|
✓ |
✓ |
✓ |
|
prefix-bind-variable-in-list |
Prefix for bind variables used in an IN-list |
|
i |
✓ |
✓ |
✓ |
|
prefix-bind-variable-normal |
Prefix for bind variables used in all cases except in an IN-list |
|
w |
✓ |
✓ |
✓ |
|
prefix-renamed-columns |
Prefix appended to columns whose names occur multiple times in the column list of a query |
|
column |
✓ |
✓ |
✓ |
|
pre-request-delay-ms |
Pre-request delay in milliseconds per request. |
Shared |
0 |
✓ |
✓ |
✓ |
|
requested-page-size |
Preferred number of rows to exchange per round trip; only effective on limited platforms such as AFAS Online |
Shared |
|
✓ |
✓ |
✓ |
|
requests-parallel-max |
Maximum number of parallel data requests from individual partitions on the data container. |
Shared |
32 |
✓ |
✓ |
✓ |
|
slot-based-rate-limit-length-ms |
Total length in ms across all slots of a slot-based rate limit. |
Shared |
60000 |
✓ |
|
✓ |
|
slot-based-rate-limit-slots |
Number of slots of a slot-based rate limit. Null means no slot-based rate limit |
Shared |
|
✓ |
|
✓ |
|
standardize-identifiers |
Rewrite all identifiers to the preferred standards as configured by standardize-identifiers-casing and maximum-length-identifiers. |
Shared |
True |
✓ |
✓ |
✓ |
|
standardize-identifiers-casing |
Rewrite all identifiers to the recommended standard platform-specific casing when changing a data model on a case-dependent platform. |
Shared |
True |
✓ |
✓ |
✓ |
|
12-12-2020 18:19 Version 20.1.301-BETA+3023