Call level interface (CLI) driver enhancements for Db2 11.5.6

The CLI driver contains a number of major enhancements for the Db2 11.5.6 base product, its mod packs, and its fix packs. Each fix pack for a release is cumulative; that is, a particular fix pack contains the enhancements and new features that were included in previous fix packs.

Attention: This mod pack release is currently available for the following Db2 products:

11.5.6 enhancements

The Db2 11.5.6 release includes the following enhancements and new capabilities for the CLI driver:
Table 1. CLI enhancements and new capabilities in Db2 11.5.6
Enhancement Description
Improved performance when prefetching data from large data sets When a query is issued to fetch a large amount of data from a table in a Db2 database, the ODBC or CLI driver fetches the result set in multiple blocks. In Db2 11.5.5 and older versions, there is significant delay in waiting for the data retrieved in each block to be processed before the driver fetches the next block.
With the release of Db2 11.5.6, the ODBC or CLI driver no longer waits for the data in one block to be retrieved before fetching the next block. Instead of waiting for a reply from the Db2 server, the driver now uses that time to process data. This improves the overall performance of the driver while fetching large data sets.
These changes have resulted in the creation of the new db2dsdriver.cfg keyword, QueryPrefetch, and the new connection and statement attribute SQL_ATTR_QUERY_PREFETCH.
Transport Layer Security (TLS, formerly SSL) version now set at the Db2 non-java client through the db2dsdriver.cfg file and connection string The IBM ODBC and CLI drivers work with TLS 1.0, 1.1 or 1.2, with TLS 1.1 being the default version for Db2 Server.
In Db2 11.5.5 and older versions, the driver's TLS version is set based on the Db2 server’s TLS version. The TLS version is set at the Db2 server using the SSL_VERSIONS database server configuration parameter, however no similar parameter exists for the Db2 driver or client.
With the release of Db2 11.5.6, a new db2dsdriver.cfg and connection string keyword, TLSVersion, enables you to set the TLS version at ODBC and CLI drivers and clients.
Improved performance of Anonymous block execution flow for embedded SQL applications A new IBM data server driver configuration keyword, Anonyblksqlexec, changes the anonymous block execution flow from the CALL statement execution path to the SQL execution path, when used in embedded SQL applications.
Support for db2cli validate -all command for user level db2dsdriver.cfg file The -all option of the Db2 interactive CLI command, db2cli, now validates at both the system level and the user level.
The schema validation is now done for both the user level and system level db2dsdriver.cfg files. Schema errors found in either configuration file are shown, along with the path or name of the files.
Simplified process for TLS connections to Db2 databases from embedded SQL applications With Db2 11.5.6 and newer versions, connecting to a Db2 database over TLS through an application using embedded SQL is now handled programmatically.
Specifying Security=SSL in your db2dsdriver.cfg eliminates the need for the following:
  • Downloading and installing the GSKit package separately to configure TLS
  • Using the GSKCapiCmd tool to create a key database or stash file
  • Passing values from your application for the SSLClientKeystoredb, SSLClientKeystoreDBPassword, or SSLClientKeyStash keywords in the db2dsdriver.cfg file.
For more information, see the note in Configuring TLS support in non-Java Db2 clients.
Application-specific db2locale setting now available A locale provides the local conventions and language for a geographical region. A locale is a unique combination of language, country, region, and code page. The locale and code page setting can be changed at run time by calling the setlocale() function.
Using the setlocale() function allows you to change the locale setting for a specific application, without impacting the value set by the db2locale registry variable.
For more information, see the DB2LOCALE section in General registry variables.
Hostname validation now available for Db2 clients Hostname validations is now available for Db2 11.5.6 client software.
When negotiating a TLS connection to a Db2 server, a Db2 client now has the ability to validate the hostname in the server certificate against their list of servers to which they are configured to connect.
To support this feature, the SSLClientHostnameValidation configuration keyword is now available for ODBC and CLI clients, as well as Data Server Driver.