IBM Data Server Driver for JDBC and SQLJ properties for Db2 on Linux, UNIX, and Windows systems

Some of the IBM Data Server Driver for JDBC and SQLJ properties apply only to Db2 on Linux, UNIX, and Windows systems servers.

Those properties are:

accessToken
Identifies the token that is used for authentication at the server. Specifying an access token is valid only if property securityMechanism is set to TOKEN_SECURITY. The data type of this property is String. The maximum length of accessToken is 8000 bytes.

If accessToken is specified, property accessTokenType must also be specified. accessToken cannot be specified when property user or property apiKey is also specified.

This property applies only to SSL connections. This property applies only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity to Db2 on Linux, UNIX, and Windows systems.

accessTokenType
Identifies the type of access token that is specified in configuration, Connection, or DataSource property accessToken. The token type must be supported by the server. Specifying an access token type is valid only if property securityMechanism is set to TOKEN_SECURITY. The data type of this property is String. The maximum length of accessTokenType is 255 bytes.

This property applies only to SSL connections. This property applies only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity to Db2 on Linux, UNIX, and Windows systems.

alternateGroupDatabaseName
Specifies the database names for alternate groups to which an application can connect. The data type of this property is String. For a connection to a Db2 for z/OS® data server, this value is the location name for a data sharing group. For a connection to a Db2 on Linux, UNIX, and Windows systems data server, each of these values is the database name for a single-member or multiple-member database instance. If more than one database name is specified, the database names must be separated by commas.

For connections to Db2 for z/OS, only one value can be specified.

alternateGroupPortNumber
Specifies the port numbers for alternate groups to which an application can connect. The data type of this property is String. For a connection to a Db2 for z/OS data server, this value is the TCP/IP server port number that is assigned to the data sharing group. For a connection to a Db2 on Linux, UNIX, and Windows systems data server, each of these values is the TCP/IP server port number that is assigned to a single-member or multiple-member database instance. If more than one port number is specified, the port numbers must be separated by commas.

For connections to Db2 for z/OS, only one value can be specified.

alternateGroupServerName
Specifies the host names for alternate groups to which an application can connect. The data type of this property is String. The data type of this property is String. For a connection to a Db2 for z/OS data server, this value is the domain name or IP address that is assigned to the data sharing group. For a connection to a Db2 on Linux, UNIX, and Windows systems data server, each of these values is the domain name or IP address that is assigned to a single-member or multiple-member database instance. If more than one host name is specified, the host names must be separated by commas.

For connections to Db2 for z/OS, only one value can be specified.

apiKey
Identifies the API key that is used for authentication at the server. Specifying an API key is valid only if the securityMechanism property is set to PLUGIN_SECURITY. The data type of this property is String. The maximum length of apiKey is 8000 bytes.

apiKey cannot be specified when property user or property accessToken is also specified.

This property applies only to SSL connections. This property applies only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity to Db2 on Linux, UNIX, and Windows systems.

connectNode
Specifies the target database partition server that an application connects to. The data type of this property is int. The value can be between 0 and 999. The default is database partition server that is defined with port 0. connectNode applies to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity to Db2 on Linux, UNIX, and Windows systems servers only.
currentExplainSnapshot
Specifies the value for the CURRENT EXPLAIN SNAPSHOT special register. The CURRENT EXPLAIN SNAPSHOT special register enables and disables the Explain snapshot facility. The data type of this property is String. The maximum length is eight bytes. This property applies only to connections to data sources that support the CURRENT EXPLAIN SNAPSHOT special register, such as Db2 on Linux, UNIX, and Windows systems.
currentQueryOptimization
Specifies a value that controls the class of query optimization that is performed by the database manager when it binds dynamic SQL statements. The data type of this property is int. The possible values of currentQueryOptimization are:
0
Specifies that a minimal amount of optimization is performed to generate an access plan. This class is most suitable for simple dynamic SQL access to well-indexed tables.
1
Specifies that optimization roughly comparable to Db2 on Linux, UNIX, and Windows systems Version 1 is performed to generate an access plan.
2
Specifies a level of optimization higher than that of Db2 on Linux, UNIX, and Windows systems Version 1, but at significantly less optimization cost than levels 3 and above, especially for very complex queries.
3
Specifies that a moderate amount of optimization is performed to generate an access plan.
5
Specifies a significant amount of optimization is performed to generate an access plan. For complex dynamic SQL queries, heuristic rules are used to limit the amount of time spent selecting an access plan. Where possible, queries will use materialized query tables instead of the underlying base tables.
7
Specifies a significant amount of optimization is performed to generate an access plan. This value is similar to 5 but without the heuristic rules.
9
Specifies the maximum amount of optimization is performed to generate an access plan. This can greatly expand the number of possible access plans that are evaluated. This class should be used to determine if a better access plan can be generated for very complex and very long-running queries using large tables. Explain and performance measurements can be used to verify that a better plan has been generated.
disableClientInputDataConversion
Specifies whether the IBM Data Server Driver for JDBC and SQLJ converts certain types of numeric client data before sending the data to a Db2 on Linux, UNIX, and Windows systems data server.

The affected source and target data types are listed in NUMBER data type. For information on mappings between Java data types and data server data types, see Data types that map to database data types in Java applications.

Disabling conversion might be necessary when the DB2_COMPATIBILITY_VECTOR registry variable on the data server is set to X'10'.

Possible values are:
com.ibm.db2.jcc.DB2BaseDataSource.NOT_SET (0)
Specifies that the IBM Data Server Driver for JDBC and SQLJ converts the client data to the target data type. 0 is the default.
com.ibm.db2.jcc.DB2BaseDataSource.YES (1)
Specifies that the IBM Data Server Driver for JDBC and SQLJ does not convert the client data to the target data type.
com.ibm.db2.jcc.DB2BaseDataSource.NO (2)
Specifies that the IBM Data Server Driver for JDBC and SQLJ converts the client data to the target data type.
enableAlternateGroupSeamlessACR
Specifies whether failover to an alternate group is seamless or non-seamless. The data type of this property is boolean. The possible values are:
false
Failover is non-seamless. false is the default.

With non-seamless behavior, if an application that is currently connected to a primary group is executing a transaction, and the entire primary group goes down, the IBM Data Server Driver for JDBC and SQLJ fails over to alternate group. If failover is successful, the driver throws an SQLException with SQL error code -30108.

true
Failover is seamless.

With seamless behavior, if an application that is currently connected to a primary group is executing a transaction, and the entire primary group goes down, the IBM Data Server Driver for JDBC and SQLJ fails over to alternate group. If the transaction is eligible for seamless failover, the connection is retried. If the connection is successful, no SQLException is thrown.

For connections to Db2 for z/OS, only one value can be specified.

enableDualTransportUsingDifferentProcess
Specifies the protocol that XA transactions under the IBM Data Server Driver for JDBC and SQLJ use for a dual transport or multi-transport transaction model. The possible values are:
com.ibm.db2.jcc.DB2BaseDataSource.NOT_SET (0)
Specifies that XA transactions under the IBM Data Server Driver for JDBC and SQLJ use a protocol in which the Java runtime environment does not free Xid objects after an xa_end call. The objects are available until an xa_commit or xa_rollback call is issued. This value is the default.
com.ibm.db2.jcc.DB2BaseDataSource.YES (1)
Specifies that XA transactions under the IBM Data Server Driver for JDBC and SQLJ use a protocol in which the Java runtime environment frees Xid objects after an xa_end call. An application might need to set this value for transaction managers that use the IBM Data Server Driver for JDBC and SQLJ to issue xa_start and xa_end calls, but use some other means to issue xa_prepare, xa_commit, or xa_rollback calls. An example of such a transaction manager is IBM MQ.

The behavior for a property value of com.ibm.db2.jcc.DB2BaseDataSource.YES (1) takes effect only when the xaNetworkOptimization property and the enableSysplexWLB property are set to false.

com.ibm.db2.jcc.DB2BaseDataSource.NO (2)
Specifies that XA transactions under the IBM Data Server Driver for JDBC and SQLJ use a protocol in which the Java runtime environment does not free Xid objects after an xa_end call. The objects are available until an xa_commit or xa_rollback call is issued. This value is the default.
includeModLevelInProductVersion
Specifies whether the string that is returned by DatabaseMetaData.getDatabaseProductVersion includes the modification and fix pack levels. The data type of this property is int. Possible values are:
com.ibm.db2.jcc.DB2BaseDataSource.NOT_SET (0)

Specifies that the string that is returned by DatabaseMetaData.getDatabaseProductVersion has the format pppvvrrmf for Db2 on Linux, UNIX, and Windows systems Version 11.1 modification 1 fix pack 1 or later, and pppvvrrf for Db2 on Linux, UNIX, and Windows systems Version 11.1 GA or earlier. This is the default.

com.ibm.db2.jcc.DB2BaseDataSource.YES (1)

Specifies that the string that is returned by DatabaseMetaData.getDatabaseProductVersion includes the modification level. The value that is returned is in the format pppvvrrmf for Db2 on Linux, UNIX, and Windows systems Version 11.1 modification 1 fix pack 1 or later, and pppvvrr0f for Db2 on Linux, UNIX, and Windows systems Version 11.1 fix pack 0 or earlier.

com.ibm.db2.jcc.DB2BaseDataSource.NO (2)

Specifies that the string that is returned by DatabaseMetaData.getDatabaseProductVersion does not include the modification level. The value that is returned is in the format pppvvrrf for Db2 on Linux, UNIX, and Windows systems Version 11.1 modification 1 fix pack 1 or later, and pppvvrrf for Db2 on Linux, UNIX, and Windows systems Version 11.1 fix pack 0 or earlier.

This setting is not recommended if the data server might be Db2 on Linux, UNIX, and Windows systems Version 11.1 modification 1 fix pack 1 or later.

optimizationProfile
Specifies an optimization profile that is used during SQL optimization. The data type of this property is String. The optimizationProfile value is used to set the OPTIMIZATION PROFILE special register. The default is null.

optimizationProfile applies to Db2 on Linux, UNIX, and Windows systems servers only.

optimizationProfileToFlush
Specifies the name of an optimization profile that is to be removed from the optimization profile cache. The data type of this property is String. The default is null.
plugin
The name of a client-side JDBC security plug-in. This property has the Object type and contains a new instance of the JDBC security plug-in method.
pluginName
The name of a server-side security plug-in module.
retryWithAlternativeSecurityMechanism
Specifies whether the IBM Data Server Driver for JDBC and SQLJ retries a connection with an alternative security mechanism if the security mechanism that is specified by property securityMechanism is not supported by the data source. The data type of this property is int. The possible values are:
com.ibm.db2.jcc.DB2BaseDataSource.YES (1)
Retry the connection using an alternative security mechanism. The IBM Data Server Driver for JDBC and SQLJ issues warning code +4222 and retries the connection with the most secure available security mechanism.
com.ibm.db2.jcc.DB2BaseDataSource.NO (2) or com.ibm.db2.jcc.DB2BaseDataSource.NOT_SET (0)
Do not retry the connection using an alternative security mechanism.

retryWithAlternativeSecurityMechanism applies to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity connections to Db2 on Linux, UNIX, and Windows systems only.

useTransactionRedirect
Specifies whether the Db2 system directs SQL statements to different database partitions for better performance. The data type of this property is boolean. The default is false.
This property is applicable only under the following conditions:
  • The connection is to a Db2 on Linux, UNIX, and Windows systems server that uses a partitioned database environment.
  • The partitioning key remains constant throughout a transaction.

If useTransactionRedirect is true, the IBM Data Server Driver for JDBC and SQLJ sends connection requests to the DPF node that contains the target data of the first directable statement in the transaction. Db2 on Linux, UNIX, and Windows systems then directs the SQL statement to different partitions as needed.