IBM Data Server Driver for JDBC and SQLJ configuration properties

The IBM Data Server Driver for JDBC and SQLJ configuration properties have driver-wide scope.

The following table summarizes the configuration properties and corresponding Connection or DataSource properties, if they exist.

Table 1. Summary of Configuration properties and corresponding Connection and DataSource properties
Configuration property name Connection or DataSource property name Introduced in driver version Notes
db2.jcc.accessToken accessToken 4.24 6
db2.jcc.accountingInterval accountingInterval 3.6 1, 4
db2.jcc.allowSqljDuplicateStaticQueries   2.11 4
db2.jcc.alternateUTF8Encoding   3.70, 4.70 4, 5, 6
db2.jcc.apiKey apiKey 4.24 6
db2.jcc.charOutputSize charOutputSize 2.9 1, 5,4
db2.jcc.clientApplcompat clientApplcompat 4.24 1, 4
db2.jcc.override.clientApplcompat clientApplcompat 4.24 2, 4
db2.jcc.currentSchema currentSchema 1.2 1, 4, 6
db2.jcc.override.currentSchema currentSchema 1.2 2, 4, 6
db2.jcc.currentSQLID currentSQLID 1.3 1, 4
db2.jcc.override.currentSQLID currentSQLID 1.3 2, 4
db2.jcc.decimalRoundingMode decimalRoundingMode 3.4 1, 4, 6
db2.jcc.override.decimalRoundingMode decimalRoundingMode 3.4 2, 4, 6
db2.jcc.defaultSQLState   3.52, 4.2 4
db2.jcc.diagLevelExceptionCode   3.69, 4.19 4, 6
db2.jcc.disableSQLJProfileCaching   1.8 4
db2.jcc.disableTimezone   3.68, 4.18 4
db2.jcc.dumpDiagLevel   3.69, 4.19 4
db2.jcc.dumpPool dumpPool 3.52, 4.2 1, 3, 4, 5
db2.jcc.dumpPoolStatisticsOnSchedule dumpPoolStatisticsOnSchedule 3.52, 4.2 1, 3, 4, 5
db2.jcc.dumpPoolStatisticsOnScheduleFile dumpPoolStatisticsOnScheduleFile 3.52, 4.2 1, 3, 4, 5
db2.jcc.enableInetAddressGetHostName   3.63, 4.13 4, 5, 6
db2.jcc.override.enableMultirowInsertSupport enableMultirowInsertSupport 3.62, 4.12 2, 4
db2.jcc.enableT2zosLBF   3.61, 4.11 1, 4
db2.jcc.override.enableT2zosLBF enableT2zosLBF 3.61, 4.11 2, 4
db2.jcc.enableT2zosLBFSPResultSets   3.63, 4.13 1, 4
db2.jcc.override.enableT2zosLBFSPResultSets enableT2zosLBFSPResultSets 3.63, 4.13 2, 4
db2.jcc.encryptionAlgorithm encryptionAlgorithm 3.65, 4.15 1, 4, 6
db2.jcc.override.encryptionAlgorithm encryptionAlgorithm 3.65, 4.15 2, 4, 6
db2.jcc.extendedTableInfo extendedTableInfo 3.69, 4.19 1, 4
db2.jcc.jmxEnabled   4.0 4, 5, 6
db2.jcc.lobOutputSize   1.8 4
db2.jcc.maxConnCachedParamBufferSize maxConnCachedParamBufferSize 3.63, 4.13 1, 4
db2.jcc.maxRefreshInterval   3.58, 4.8 4, 5, 6
db2.jcc.maxTransportObjectIdleTime   3.52, 4.2 1, 4, 5, 6
db2.jcc.maxTransportObjectWaitTime   3.52, 4.2 1, 4, 5, 6
db2.jcc.maxTransportObjects maxTransportObjects 2.6 1, 4, 5, 6
db2.jcc.minTransportObjects   3.52, 4.2 1, 4, 5, 6
db2.jcc.outputDirectory   3.61, 4.11 6
db2.jcc.pkList pkList 1.4 1, 4
db2.jcc.planName planName 1.4 1, 4
db2.jcc.progressiveStreaming progressiveStreaming 3.0 1, 4, 5, 6
db2.jcc.override.progressiveStreaming progressiveStreaming 3.0 2, 4, 5, 6
db2.jcc.rollbackOnShutdown   3.50, 4.0 4
db2.jcc.securityMechanism securityMechanism 3.65, 4.15 1, 4, 5, 6
db2.jcc.override.securityMechanism securityMechanism 3.65, 4.15 2, 4, 5, 6
db2.jcc.sendCharInputsUTF8 sendCharInputsUTF8 3.50, 4.0 4
db2.jcc.sqljStmtCacheSize   3.66, 4.16 4
db2.jcc.sqljToolsExitJVMOnCompletion   3.62, 4.12 4, 6
db2.jcc.sqljUncustomizedWarningOrException   2.2 4, 6
db2.jcc.ssid ssid 3.6 1, 4
db2.jcc.sslCertLocation sslCertLocation 3.69, 4.19 1, 4, 5, 6
db2.jcc.override.sslCertLocation sslCertLocation 3.69, 4.19 2, 4, 5, 6
db2.jcc.sslConnection sslConnection 3.66, 4.16 1, 4, 5, 6
db2.jcc.override.sslConnection sslConnection 3.66, 4.16 2, 4, 5, 6
db2.jcc.sslKeyStoreLocation sslKeyStoreLocation 4.23 1, 4, 5, 6
db2.jcc.override.sslKeyStoreLocation sslKeyStoreLocation 4.23 2, 4, 5, 6
db2.jcc.sslKeyStorePassword sslKeyStorePassword 4.23 1, 4, 5, 6
db2.jcc.override.sslKeyStorePassword sslKeyStorePassword 4.23 2, 4, 5, 6
db2.jcc.sslKeyStoreType sslKeyStoreType 4.23 1, 4, 5, 6
db2.jcc.override.sslKeyStoreType sslKeyStoreType 4.23 2, 4, 5, 6
db2.jcc.sslTrustStoreLocation sslTrustStoreLocation 3.66, 4.16 1, 4, 5, 6
db2.jcc.override.sslTrustStoreLocation sslTrustStoreLocation 3.66, 4.16 2, 4, 5, 6
db2.jcc.sslTrustStorePassword sslTrustStorePassword 3.66, 4.16 1, 4, 5, 6
db2.jcc.override.sslTrustStorePassword sslTrustStorePassword 3.66, 4.16 2, 4, 5, 6
db2.jcc.traceDirectory traceDirectory 1.5 1, 4, 5, 6
db2.jcc.override.traceDirectory traceDirectory 1.5 2, 4, 5, 6
db2.jcc.traceFile traceFile 1.1 1, 4, 5, 6
db2.jcc.override.traceFile traceFile 1.1 2, 4, 5, 6
db2.jcc.traceFileAppend traceFileAppend 1.2 1, 4, 5, 6
db2.jcc.override.traceFileAppend traceFileAppend 1.2 2, 4, 5, 6
db2.jcc.traceFileCount traceFileCount 3.63, 4.13 1, 4, 5, 6
db2.jcc.traceFileSize traceFileSize 3.63, 4.13 1, 4, 5, 6
db2.jcc.traceLevel traceLevel 3.51, 4.1 1, 4, 5, 6
db2.jcc.override.traceLevel traceLevel 3.51, 4.1 2, 4, 5, 6
db2.jcc.traceOption traceOption 3.63, 4.13 1, 4, 5, 6
db2.jcc.tracePolling   3.51, 4.1 4, 5, 6
db2.jcc.tracePollingInterval   3.51, 4.1 4, 5, 6
db2.jcc.t2zosTraceFile   3.51, 4.1 4
db2.jcc.t2zosTraceBufferSize   3.51, 4.1 4
db2.jcc.t2zosTraceWrap   3.51, 4.1 4
db2.jcc.useCcsid420ShapedConverter   3.2 4
Note:
  1. The Connection or DataSource property setting overrides the configuration property setting. The configuration property provides a default value for the Connection or DataSource property.
  2. The configuration property setting overrides the Connection or DataSource property.
  3. The corresponding Connection or DataSource property is defined only for IBM Informix®.
  4. The configuration property applies to Db2® for z/OS®.
  5. The configuration property applies to IBM Informix.
  6. The configuration property applies to Db2 on Linux®, UNIX, and Windows systems.
  7. The configuration property applies to Db2 for IBM i.
  8. The configuration property applies to Db2 on Cloud.

The following definitions describe the meanings of the configuration properties:

db2.jcc.accountingInterval
Specifies whether Db2 accounting records are produced at commit points or on termination of the physical connection to the data source. If the value of db2.jcc.accountingInterval is COMMIT, Db2 accounting records are produced at commit points. The property is illustrated in the following example:
db2.jcc.accountingInterval=COMMIT
Otherwise, accounting records are produced on termination of the physical connection to the data source.

db2.jcc.accountingInterval applies only to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS. db2.jcc.accountingInterval is not applicable to connections under CICS® or IMS, or for Java™ stored procedures.

You can override db2.jcc.accountingInterval by setting the accountingInterval property for a Connection or DataSource object.

This configuration property applies only to Db2 for z/OS.

db2.jcc.allowSqljDuplicateStaticQueries
Specifies whether multiple open iterators on a single SELECT statement in an SQLJ application are allowed under IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.

To enable this support, set db2.jcc.allowSqljDuplicateStaticQueries to YES or true.

db2.jcc.alternateUTF8Encoding
Specifies whether the JDBC driver that runs under IBM JRE Version 8 and above uses the UTF8J implementation in place of UTF8, when working with UTF8 data. Java 8 enforces stricter UTF8 implementation rules that might cause malformed input exceptions to occur with certain data, when upgrading to Java 8. The UTF8J implementation available in IBM JRE is expected to be compatible with prior versions of Java 8 UTF8 implementation that allows such data to be processed successfully with IBM JRE 8 and above.
0
Default value that means use the standard UTF8 implementation that is provided by the JRE for UTF8 data.
1
Value that means use UTF8J implementation for UTF8 data, if running under IBM JRE.
db2.jcc.charOutputSize
Specifies the maximum number of bytes to use for INOUT or OUT stored procedure parameters that are registered as Types.CHAR.

Because DESCRIBE information for stored procedure INOUT and OUT parameters is not available at run time, by default, the IBM Data Server Driver for JDBC and SQLJ sets the maximum length of each character INOUT or OUT parameter to 32767. For stored procedures with many Types.CHAR parameters, this maximum setting can result in allocation of much more storage than is necessary.

To use storage more efficiently, set db2.jcc.charOutputSize to the largest expected length for any Types.CHAR INOUT or OUT parameter.

db2.jcc.charOutputSize has no effect on INOUT or OUT parameters that are registered as Types.VARCHAR or Types.LONGVARCHAR. The driver uses the default length of 32767 for Types.VARCHAR and Types.LONGVARCHAR parameters.

When choosing the value for db2.jcc.charOutputSize take into account the possibility of expansion during character conversion. Because the IBM Data Server Driver for JDBC and SQLJ has no information about the server-side CCSID that is used for output parameter values, the driver requests the stored procedure output data in UTF-8 Unicode. The db2.jcc.charOutputSize value needs to be the maximum number of bytes that are needed after the parameter value is converted to UTF-8 Unicode. UTF-8 Unicode characters can require up to 3 bytes. (The euro symbol is an example of a 3-byte UTF-8 character). To ensure that the value of db2.jcc.charOutputSize is large enough, if you have no information about the output data, set db2.jcc.charOutputSize to three times the defined length of the largest CHAR parameter.

This configuration property applies only to Db2 for z/OS.

db2.jcc.clientApplcompat or db2.jcc.override.clientApplcompat
Allows the IBM Data Server Driver for JDBC and SQLJ to use the capabilities of a specified Db2 for z/OS function level. This configuration property applies only to Db2 for z/OS.
db2.jcc.currentSchema or db2.jcc.override.currentSchema
Specifies the default schema name that is used to qualify unqualified database objects in dynamically prepared SQL statements. This value of this property sets the value in the CURRENT SCHEMA special register on the database server. The schema name is case-sensitive, and must be specified in uppercase characters.

This configuration property applies only to Db2 for z/OS or Db2 on Linux, UNIX, and Windows systems.

db2.jcc.currentSQLID or db2.jcc.override.currentSQLID
The properties specify the following statements:
  • The authorization ID that is used for authorization checking on dynamically prepared CREATE, GRANT, and REVOKE SQL statements.
  • The owner of a table space, database, storage group, or synonym that is created by a dynamically issued CREATE statement.
  • The implicit qualifier of all table, view, alias, and index names specified in dynamic SQL statements.
currentSQLID sets the value in the CURRENT SQLID special register on a Db2 for z/OS server. If the currentSQLID property is not set, the default schema name is the value in the CURRENT SQLID special register.

This configuration property applies only to Db2 for z/OS.

db2.jcc.decimalRoundingMode or db2.jcc.override.decimalRoundingMode
Specifies the rounding mode for assignment to decimal floating-point variables or DECFLOAT columns on Db2 for z/OS or Db2 on Linux, UNIX, and Windows systems data servers.

The following includes possible values of the properties:

com.ibm.db2.jcc.DB2BaseDataSource.ROUND_DOWN (1)
Rounds the value towards 0 (truncation). The discarded digits are ignored.
com.ibm.db2.jcc.DB2BaseDataSource.ROUND_CEILING (2)
Rounds the value towards positive infinity. If all of the discarded digits are zero or if the sign is negative, the result is unchanged other than the removal of the discarded digits. Otherwise, the result coefficient is incremented by 1.
com.ibm.db2.jcc.DB2BaseDataSource.ROUND_HALF_EVEN (3)
Rounds the value to the nearest value; if the values are equidistant, rounds the value so that the final digit is even. If the discarded digits represent greater than half (0.5) of the value of one in the next left position, then the result coefficient is incremented by 1. If they represent less than half, then the result coefficient is not adjusted (that is, the discarded digits are ignored). Otherwise, the result coefficient is unaltered if its rightmost digit is even, or is incremented by 1 if its rightmost digit is odd (to make an even digit).
com.ibm.db2.jcc.DB2BaseDataSource.ROUND_HALF_UP (4)
Rounds the value to the nearest value; if the values are equidistant, rounds the value away from zero. If the discarded digits represent greater than or equal to half (0.5) of the value of one in the next left position, then the result coefficient is incremented by 1. Otherwise, the discarded digits are ignored.
com.ibm.db2.jcc.DB2BaseDataSource.ROUND_FLOOR (6)
Rounds the value towards negative infinity. If all of the discarded digits are zero or if the sign is positive, the result is unchanged other than the removal of discarded digits. Otherwise, the sign is negative and the result coefficient is incremented by 1.
com.ibm.db2.jcc.DB2BaseDataSource.ROUND_UNSET (-2147483647)
No rounding mode was explicitly set. The IBM Data Server Driver for JDBC and SQLJ does not use the decimalRoundingMode to set the rounding mode on the database server. The rounding mode is ROUND_HALF_EVEN.

If you explicitly set the db2.jcc.decimalRoundingMode or db2.jcc.override.decimalRoundingMode value, that value updates the CURRENT DECFLOAT ROUNDING MODE special register value on a Db2 for z/OS data server.

If you explicitly set the db2.jcc.decimalRoundingMode or db2.jcc.override.decimalRoundingMode value, that value does not update the CURRENT DECFLOAT ROUNDING MODE special register value on a Db2 on Linux, UNIX, and Windows systems data server. If the value to which you set db2.jcc.decimalRoundingMode or db2.jcc.override.decimalRoundingMode is not the same as the value of the CURRENT DECFLOAT ROUNDING MODE special register, an Exception is thrown. To change the data server value, you need to set that value with the decflt_rounding database configuration parameter.

decimalRoundingMode does not affect decimal value assignments. The IBM Data Server Driver for JDBC and SQLJ always rounds decimal values down.

db2.jcc.defaultSQLState
Specifies the SQLSTATE value that the IBM Data Server Driver for JDBC and SQLJ returns to the client for SQLException or SQLWarning objects that have null SQLSTATE values. This configuration property can be specified in the following ways:
db2.jcc.defaultSQLState
If db2.jcc.defaultSQLState is specified with no value, the IBM Data Server Driver for JDBC and SQLJ returns 'FFFFF'.
db2.jcc.defaultSQLState=xxxxx
The value xxxxx in the format is the value that the IBM Data Server Driver for JDBC and SQLJ returns when the SQLSTATE value is null. If xxxxx is longer than 5 bytes, the driver truncates the value to 5 bytes. If xxxxx is shorter than 5 bytes, the driver pads xxxxx on the right with blanks.

If db2.jcc.defaultSQLState is not specified, the IBM Data Server Driver for JDBC and SQLJ returns a null SQLSTATE value.

This configuration property applies only to Db2 for z/OS.

db2.jcc.diagLevelExceptionCode
Specifies whether to collect detailed diagnostic information for SQL errors or not.

The following values depict possible values of the property:

-1
Collect diagnostic data for all SQL codes.
0
Collection of diagnostic data is disabled. 0 is the default value.
1
Collect diagnostic data for SQL code -30108.
2
Collect diagnostic data for SQL code -1224.
4
Collect diagnostic data for SQL code -204.
8
Collect diagnostic data for SQL code -4499.
16
Collect diagnostic data for SQL code -20542.

To specify multiple SQL codes, combine the diagnostic constants that correspond to the SQL codes. For example, specify 13 to collect diagnostic data for SQL codes -30108, -204, and -4499.

Negative signs in SQL warnings are optional. SQL codes can be suffixed by 'n' for negative SQL codes and 'p' for positive SQL Codes.

To collect diagnostic information for -204, -30108, the db2.jcc.diagLevelExceptionCode entry in the properties file would look like one of the three examples:
  • db2.jcc.diagLevelExceptionCode=-204,30108n
  • db2.jcc.diagLevelExceptionCode=204,30108
  • db2.jcc.diagLevelExceptionCode=-204,30108,4499n
SQL Warnings must be configured with a positive sign or suffix with 'p'. For example, to collect diagnostic information for SQL warning +100, SQL error code -30108 and SQL warning +222, the properties file must have an entry that looks like one of the following statements:
  • db2.jcc.diagLevelExceptionCode=+100,-30108,222p
  • db2.jcc.diagLevelExceptionCode=100p,30108,+222

In versions 3.69 and 4.19 of the IBM Data Server Driver for JDBC and SQLJ, to log diagnostic information for error codes -204 and -30108, you must add the integer constants that are assigned to them. These integer constants that are related to the IBM Data Server Driver for JDBC and SQLJ are now discontinued.

db2.jcc.disableSQLJProfileCaching
Specifies whether serialized profiles are cached when the JVM under which their application is running is reset. db2.jcc.disableSQLJProfileCaching applies only to applications that run in a resettable JVM (applications that run in the CICS, IMS, or Java stored procedure environment), and use IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS. The following illustrates possible values of the property:
YES
SQLJ serialized profiles are not cached every time the JVM is reset so that new versions of the serialized profiles are loaded when the JVM is reset. Use this option when an application is under development, and new versions of the application and its serialized profiles are produced frequently.
NO
SQLJ serialized profiles are cached when the JVM is reset. NO is the default.

This configuration property applies only to Db2 for z/OS.

db2.jcc.disableTimezone
Specifies whether the time zone portion of a timestamp value is not sent to the data server. The following values show possible values of the property:
true or yes
Indicates that the time zone portion of a timestamp is not sent to the data server, even if the data server supports the TIMESTAMP WITH TIME ZONE data type.
Any other value
Default value that indicates that the time zone portion of a timestamp is sent to the data server.
db2.jcc.dumpDiagLevel
Specifies whether to collect diagnostic information for all reason codes or only critical reason codes.

The following values show possible values of the property:

1
Collect diagnostic data for all reason codes of SQL codes that are specified in db2.jcc.diagLevelExceptionCode.
2
Collect diagnostic data for only critical reason codes of SQL codes that are specified in db2.jcc.diagLevelExceptionCode. 2 is the default value.
db2.jcc.dumpPool
Specifies the types of statistics on global transport pool events that are written, in addition to summary statistics. The global transport pool is used for the connection concentrator and Sysplex workload balancing.

db2.jcc.dumpPoolStatisticsOnSchedule and db2.jcc.dumpPoolStatisticsOnScheduleFile must also be set for writing statistics before any statistics are written.

The following list illustrates types of statistics with the db2.jcc.dumpPool property, that you can specify one or more of:
  • DUMP_REMOVE_OBJECT (hexadecimal: X'01', decimal: 1)
  • DUMP_GET_OBJECT (hexadecimal: X'02', decimal: 2)
  • DUMP_WAIT_OBJECT (hexadecimal: X'04', decimal: 4)
  • DUMP_SET_AVAILABLE_OBJECT (hexadecimal: X'08', decimal: 8)
  • DUMP_CREATE_OBJECT (hexadecimal: X'10', decimal: 16)
  • DUMP_SYSPLEX_MSG (hexadecimal: X'20', decimal: 32)
  • DUMP_POOL_ERROR (hexadecimal: X'80', decimal: 128)

To trace more than one type of event, add the values for the types of events that you want to trace. For example, suppose that you want to trace DUMP_GET_OBJECT and DUMP_CREATE_OBJECT events. The numeric equivalents of these values are 2 and 16, so you specify 18 for the db2.jcc.dumpPool value.

The default is 0, which means that only summary statistics for the global transport pool are written.

This configuration property applies only to Db2 for z/OS or IBM Informix.

db2.jcc.dumpPoolStatisticsOnSchedule
Specifies how often, in seconds, global transport pool statistics are written to the file that is specified by db2.jcc.dumpPoolStatisticsOnScheduleFile. The global transport object pool is used for the connection concentrator and Sysplex workload balancing.

The default is -1. -1 means that global transport pool statistics are not written.

This configuration property applies only to Db2 for z/OS or IBM Informix.

db2.jcc.dumpPoolStatisticsOnScheduleFile
Specifies the name of the file to which global transport pool statistics are written. The global transport pool is used for the connection concentrator and Sysplex workload balancing.

If db2.jcc.dumpPoolStatisticsOnScheduleFile is not specified, global transport pool statistics are not written.

This configuration property applies only to Db2 for z/OS or IBM Informix.

db2.jcc.enableInetAddressGetHostName
Specifies whether the IBM Data Server Driver for JDBC and SQLJ uses the InetAddress.getHostName and InetAddress.getCanonicalHostName methods to determine the host name for an IP address. db2.jcc.enableInetAddressGetHostName applies only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity. Possible values of the property include the following values:
true
The IBM Data Server Driver for JDBC and SQLJ uses the InetAddress.getHostName and InetAddress.getCanonicalHostName methods to determine the host name for an IP address.

When you specify true, applications might take longer to run because of the additional time that is required for DNS lookup operations.

false
The IBM Data Server Driver for JDBC and SQLJ uses the InetAddress.getHostAddress method to return the IP address. The returned IP address is used in place of the host name.

For versions 3.65 and 4.15 or later of the IBM Data Server Driver for JDBC and SQLJ, the default is false. For versions 3.64 and 4.14 or earlier, the default is true.

db2.jcc.override.enableMultiRowInsertSupport
Specifies whether the IBM Data Server Driver for JDBC and SQLJ uses multi-row INSERT for batched INSERT or MERGE operations, when the target data server is a Db2 for z/OS server that supports multi-row INSERT. The batch operations must be PreparedStatement calls with parameter markers. The default is true.

db2.jcc.override.enableMultiRowInsertSupport must be set to false if INSERT FROM SELECT statements are executed in a batch. Otherwise, the driver throws a BatchUpdateException.

Possible values are:
true
Specifies the default value that the IBM Data Server Driver for JDBC and SQLJ uses multi-row INSERT for batched INSERT or MERGE operations, when the target data server is a Db2 for z/OS server that supports multi-row INSERT.
false
Specifies that the IBM Data Server Driver for JDBC and SQLJ does not use multi-row INSERT for batched INSERT or MERGE operations, when the target data server is a Db2 for z/OS server that supports multi-row INSERT.
db2.jcc.enableT2zosLBF or db2.jcc.override.enableT2zosLBF
Specifies whether limited block fetch can be used for connections that use IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to retrieve data from a table on a local Db2 for z/OS data server. Possible values are:
0 or not specified
This value is the default.
  • For a connection to a Db2 for z/OS data server in Version 10 conversion mode, specifies that limited block fetch is not used for retrieving data from a local table that uses IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.
  • For a connection to a Db2 for z/OS data server in Version 10 new-function mode or later, specifies that limited block fetch can be used for retrieving data from a local table that uses IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.
1
Specifies that limited block fetch can be used when an application that is running under the IBM Data Server Driver for JDBC and SQLJ type 2 connectivity retrieves data from a local table.
2
Specifies that limited block fetch is not used for retrieving data from a local table that uses IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.

db2.jcc.enableT2zosLBF and db2.jcc.override.enableT2zosLBF apply to Db2 for z/OS data servers in Version 10 new-function mode or later. These properties do not apply to retrieval of stored procedure result sets.

db2.jcc.enableT2zosLBFSPResultSets or db2.jcc.override.enableT2zosLBFSPResultSets
Specifies whether limited block fetch is used for connections that use IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to retrieve data from a stored procedure result set on a local Db2 for z/OS data server. Possible values are:
0 or 1
Specifies the default value that limited block fetch is used for retrieving data from a stored procedure result set by using IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.
2
Specifies that limited block fetch is not used for retrieving data from a stored procedure result set by using IBM Data Server Driver for JDBC and SQLJ type 2 connectivity.

db2.jcc.enableT2zosLBFSPResultSets and db2.jcc.override.enableT2zosLBFSPResultSets apply to Db2 for z/OS data servers in Version 10 new-function mode or later.

db2.jcc.encryptionAlgorithm or db2.jcc.override.encryptionAlgorithm
Specifies whether the IBM Data Server Driver for JDBC and SQLJ uses 56-bit DES (weak) encryption or 256-bit AES (strong) encryption.

db2.jcc.encryptionAlgorithm or db2.jcc.override.encryptionAlgorithm can be specified only if property db2.jcc.securityMechanism or property securityMechanism is set to 7 or 9.

Possible values of the properties include the following values:

1
The driver uses 56-bit DES encryption.
2
The driver uses 256-bit AES encryption, if the database server supports it. 256-bit AES encryption is available for IBM Data Server Driver for JDBC and SQLJ type 4 connectivity only.
For AES encryption, you need an unrestricted policy file for JCE. For the IBM SDK for Java. The file is available at the following location:
https://www.ibm.com/marketing/iwm/iwm/web/preLogin.do?source=jcesdk
The SDK for Java from Oracle might support AES encryption, but not DES encryption. When you use AES encryption with the SDK for Java from Oracle, the JCE Unlimited Strength Jurisdiction Policy File needs to be installed. That file is available from Oracle. If the JCE Unlimited Strength Jurisdiction Policy File is not found, a java.security.InvalidKeyException is thrown.

db2.jcc.encryptionAlgorithm can be specified only if the db2.jcc.securityMechanism, db2.jcc.override.securityMechanism, or securityMechanism value is set for encrypted password security or encrypted user ID and password security.

db2.jcc.extendedTableInfo
Specifies whether information about extended table types is returned from a DatabaseMetaData.getTables method call. Currently, one extended table type exists: ACCEL-ONLY TABLE.
0
The result set that is returned by the DatabaseMetaData.getTables method does not contain columns for extended table types.

Rows for extended table types are returned only if "TABLE" is explicitly specified in the types parameter value. In this case, extended table types are listed as TABLE in the TABLE_TYPE column of the result set.

1
The result set that is returned by the DatabaseMetaData.getTables method contains rows and columns for extended table types. In particular:
  • The result set contains these extra columns after the columns that are always returned in the result set from DatabaseMetaData.getTables:
    Table 2. Extra columns returned by DatabaseMetaData.getTables
    Column Name Data type Description
    TEMPORAL_TABLE_TYPE String Contains the type of temporal table. The following shows possible values of the temporal table:
    SYSTEM
    System-period temporal table.
    APPLICATION
    Application-period temporal table.
    BITEMPORAL
    Bitemporal table.
    Empty string
    Not a temporal table.

    This row is returned for connections to Db2 for z/OS Version 10 or later.

    IS_ACCELERATED String Indicates whether the table is an accelerated table. Possible values are YES or NO.

    This row is returned for connections to Db2 for z/OS Version 10 or later.

    ACCEL_ARCHIVE_STATUS String Contains the archive status of the table in the accelerator database.

    This row is returned for connections to Db2 for z/OS Version 10 or later.

    IS_ARCHIVE_ENABLED String Indicates whether the table is an archive-enabled table. Possible values are YES or NO.

    This row is returned for connections to Db2 for z/OS Version 11 or later.

  • Rows for extended table types are returned under the following circumstances:
    • All table types are implicitly requested by specifying null in the types parameter value.
    • An extended table type name is explicitly specified in the types parameter value.

      In this case, the extended table type is listed by its extended table type name in the TABLE_TYPE column of the result set.

db2.jcc.jmxEnabled
Specifies whether the Java Management Extensions (JMX) is enabled for the IBM Data Server Driver for JDBC and SQLJ instance. JMX must be enabled before applications can use the remote trace controller.
Possible values of the property include the following values:
true or yes
Indicates that JMX is enabled.
Any other value
Indicates the default value that JMX is disabled.
db2.jcc.lobOutputSize
Specifies the number of bytes of storage that the IBM Data Server Driver for JDBC and SQLJ needs to allocate for output LOB values when the driver cannot determine the size of those LOBs. This situation occurs for LOB stored procedure output parameters. db2.jcc.lobOutputSize applies only to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS.

The default value for db2.jcc.lobOutputSize is 1048576. For systems with storage limitations and smaller LOBs, set the db2.jcc.lobOutputSize value to a lower number.

For example, if you know that the output LOB size is at most 64000, set db2.jcc.lobOutputSize to 64000.

This configuration property applies only to Db2 for z/OS.

db2.jcc.maxConnCachedParamBufferSize
Specifies the maximum size of an internal buffer that is used for caching input parameter values for PreparedStatement objects. The buffer caches values on the native code side that are passed from the driver's Java code side for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS. The buffer is used by all PreparedStatement objects for a Connection. The default is 1048576 (1 MB). The default must be adequate for most users. Set db2.jcc.maxConnCachedParamBufferSize to a larger value if many applications that run under the driver instance have PreparedStatement objects with large numbers of input parameters or large input parameters. The db2.jcc.maxConnCachedParamBufferSize must be larger than the maximum size of all input parameter data for a Connection. However, you also need to consider the total number of connections and the maximum amount of memory that is available when you set the db2.jcc.maxConnCachedParamBufferSize value.

The buffer exists for the life of a Connection, unless it reaches the maximum specified size. If that happens, the buffer is freed on each call to the native code. The corresponding buffer on the Java code side is freed on PreparedStatement.clearParameters and PreparedStatement.close calls. The buffers are not cleared if an application calls PreparedStatement.clearParameters, and the buffers did not reach the maximum size.

db2.jcc.maxRefreshInterval
For workload balancing, specifies the maximum amount of time in seconds between refreshes of the client copy of the server list. The minimum valid value is 1.

For version 3.63 or 4.13 or later of the IBM Data Server Driver for JDBC and SQLJ, the default is 10 seconds. For earlier versions of the driver, the default is 30 seconds.

db2.jcc.maxTransportObjectIdleTime
Specifies the amount of time in seconds that an unused transport object stays in a global transport object pool before it can be deleted from the pool. Transport objects are used for the connection concentrator and Sysplex workload balancing.

The default value for db2.jcc.maxTransportObjectIdleTime is 10. Setting db2.jcc.maxTransportObjectIdleTime to a value less than 0 causes unused transport objects to be deleted from the pool immediately. Setting the value below 0 this is not recommended because it can cause severe performance degradation.

db2.jcc.maxTransportObjects
Specifies the upper limit for the number of transport objects in a global transport object pool for the connection concentrator and Sysplex workload balancing. When the number of transport objects in the pool reaches the db2.jcc.maxTransportObjects value, transport objects that have not been used for longer than the db2.jcc.maxTransportObjectIdleTime value are deleted from the pool.

For version 3.63 or 4.13 or later of the IBM Data Server Driver for JDBC and SQLJ, the default is 1000. For earlier versions of the driver, the default is -1.

Any value that is less than or equal to 0 means that no limit to the number of transport objects in the global transport object pool exists.

db2.jcc.maxTransportObjectWaitTime
Specifies the maximum amount of time in seconds that an application waits for a transport object if the db2.jcc.maxTransportObjects value is not reached yet. Transport objects are used for the connection concentrator and Sysplex workload balancing. When an application waits for longer than the db2.jcc.maxTransportObjectWaitTime value, the global transport object pool throws an SQLException.

Any negative value means that applications wait forever.

For version 3.63 or 4.13 or later of the IBM Data Server Driver for JDBC and SQLJ, the default is 1 second. For earlier versions of the driver, the default is -1.

db2.jcc.minTransportObjects
Specifies the lower limit for the number of transport objects in a global transport object pool for the connection concentrator and Sysplex workload balancing. When a JVM is created, no transport objects exist in the pool. Transport objects are added to the pool as they are needed. After the db2.jcc.minTransportObjects value is reached, the number of transport objects in the global transport object pool never goes below the db2.jcc.minTransportObjects value for the lifetime of that JVM.

The default value for db2.jcc.minTransportObjects is 0. Any value that is less than or equal to 0 means that the global transport object pool can become empty.

db2.jcc.outputDirectory
Specifies where the IBM Data Server Driver for JDBC and SQLJ stores temporary log files.
If this property is set, the IBM Data Server Driver for JDBC and SQLJ stores the following files in the specified directory:
jccdiag.log
Contains diagnostic information that is written by the IBM Data Server Driver for JDBC and SQLJ.

If db2.jcc.outputDirectory is not specified, the IBM Data Server Driver for JDBC and SQLJ searches for a directory that is specified by the java.io.tmpdir system property. If the java.io.tmpdir system property is also not specified, the driver does not write diagnostic information to jccdiag.log. If a directory is specified, but jccdiag.log cannot be accessed, the driver does not write diagnostic information to jccdiag.log.

The IBM Data Server Driver for JDBC and SQLJ does not create the directory. You must create the directory and assign the required file permissions.

db2.jcc.outputDirectory can specify an absolute path or a relative path. However, an absolute path is recommended.

db2.jcc.pkList
Specifies a package list that is used for the underlying RRSAF CREATE THREAD call when a JDBC or SQLJ connection to a data source is established. Specify this property if you do not bind plans for your SQLJ programs or for the JDBC driver. If you specify this property, do not specify db2.jcc.planName.

db2.jcc.pkList applies only to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS. db2.jcc.pkList does not apply to applications that run under CICS or IMS, or to Java stored procedures. The JDBC driver ignores the db2.jcc.pkList setting in those cases.

Recommendation: Use db2.jcc.pkList instead of db2.jcc.planName.

The format of the package list is:

Read syntax diagramSkip visual syntax diagram,collection-ID. *

The default value of db2.jcc.pkList is NULLID.*.

If you specify the -collection parameter when you run com.ibm.db2.jcc.DB2Binder, the collection ID that you specify for IBM Data Server Driver for JDBC and SQLJ packages when you run com.ibm.db2.jcc.DB2Binder must also be in the package list for the db2.jcc.pkList property.

You can override db2.jcc.pkList by setting the pkList property for a Connection or DataSource object.

The following example specifies a package list for a IBM Data Server Driver for JDBC and SQLJ instance whose packages are in collection JDBCCID. SQLJ applications that are prepared under this driver instance are bound into collections SQLJCID1, SQLJCID2, or SQLJCID3.

db2.jcc.pkList=JDBCCID.*,SQLJCID1.*,SQLJCID2.*,SQLJCID3.*

This configuration property applies only to Db2 for z/OS.

db2.jcc.planName
Specifies a Db2 for z/OS plan name that is used for the underlying RRSAF CREATE THREAD call when a JDBC or SQLJ connection to a data source is established. Specify this property if you bind plans for your SQLJ programs and for the JDBC driver packages. If you specify this property, do not specify db2.jcc.pkList.

db2.jcc.planName applies only to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS. db2.jcc.planName does not apply to applications that run under CICS or IMS, or to Java stored procedures. The JDBC driver ignores the db2.jcc.planName setting in those cases.

If you do not specify this property or the db2.jcc.pkList property, the IBM Data Server Driver for JDBC and SQLJ uses the db2.jcc.pkList default value of NULLID.*.

If you specify db2.jcc.planName, you need to bind the packages that you produce when you run com.ibm.db2.jcc.DB2Binder into a plan whose name is the value of this property. You also need to bind all SQLJ packages into a plan whose name is the value of this property.

You can override db2.jcc.planName by setting the planName property for a Connection or DataSource object.

The following example specifies a plan name of MYPLAN for the IBM Data Server Driver for JDBC and SQLJ JDBC packages and SQLJ packages.

db2.jcc.planName=MYPLAN

This configuration property applies only to Db2 for z/OS.

db2.jcc.progressiveStreaming or db2.jcc.override.progressiveStreaming
Specifies whether the JDBC driver uses progressive streaming when progressive streaming is supported on the data source.

With progressive streaming, the data source dynamically determines the most efficient mode in which to return LOB or XML data, based on the size of the LOBs or XML objects. Progressive streaming is also known as dynamic data format.

Valid values for the properties include the following values:
1
Use progressive streaming, if the data source supports it.
2
Do not use progressive streaming.
db2.jcc.rollbackOnShutdown
Specifies whether Db2 for z/OS forces a rollback operation and disables further operations on JDBC connections that are in a unit of work during processing of JVM shutdown hooks.

db2.jcc.rollbackOnShutdown applies to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity only.

db2.jcc.rollbackOnShutdown does not apply to the CICS, IMS, stored procedure, or WebSphere® Application Server environments.

Valid values for the properties include the following values:

yes or true
The IBM Data Server Driver for JDBC and SQLJ directs Db2 for z/OS to force a rollback operation and disables further operations on JDBC connections that are in a unit of work during processing of JVM shutdown hooks.
Any other value
The default value that IBM Data Server Driver for JDBC and SQLJ takes no action with respect to rollback processing during processing of JVM shutdown hooks.

This configuration property applies only to Db2 for z/OS.

db2.jcc.securityMechanism or db2.jcc.override.securityMechanism
Specifies the DRDA security mechanism. Possible values are:
3
User ID and password
4
User ID only
7
User ID, encrypted password
9
Encrypted user ID and password
11
Kerberos. This value does not apply to connections to IBM Informix.
12
Encrypted user ID and encrypted security-sensitive data. This value applies to connections to Db2 for z/OS only.
13
Encrypted user ID and password, and encrypted security-sensitive data. This value does not apply to connections to IBM Informix.
15
Plug-in security. This value applies to connections to Db2 on Linux, UNIX, and Windows systems only.
16
Encrypted user ID. This value does not apply to connections to IBM Informix.
18
Client certificate security, that uses SSL. This value applies to connections to Db2 for z/OS Version 10 and later only.
The security mechanism that is specified by this property is the only mechanism that is used. If the security mechanism is not supported by the connection, an exception is thrown.

The default value for db2.jcc.securityMechanism is 3. If the server does not support user ID and password security, but supports encrypted user ID and password security (9), the IBM Data Server Driver for JDBC and SQLJ driver upgrades the security mechanism to encrypted user ID and password security and attempts to connect to the server. Any other mismatch in security mechanism support between the requester and the server results in an error.

This property does not apply to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS.

db2.jcc.sendCharInputsUTF8
Specifies whether the IBM Data Server Driver for JDBC and SQLJ converts character input data to the CCSID of the Db2 for z/OS database server, or sends the data in UTF-8 encoding for conversion by the database server. db2.jcc.sendCharInputsUTF8 applies to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to Db2 for z/OS database servers only. If this property is also set at the connection level, the connection-level setting overrides this value.
Valid values for the properties include the following values:
no, false, or 2
Specifies the default value that the IBM Data Server Driver for JDBC and SQLJ converts character input data to the target encoding before the data is sent to the Db2 for z/OS database server.
yes, true, or 1
Specifies that the IBM Data Server Driver for JDBC and SQLJ sends character input data to the Db2 for z/OS database server in UTF-8 encoding. The data source converts the data from UTF-8 encoding to the target CCSID.

Specify yes, true, or 1 only if conversion to the target CCSID by the SDK for Java causes character conversion problems. The most common problem occurs when you use IBM Data Server Driver for JDBC and SQLJ type 2 connectivity to insert a Unicode line feed character (U+000A) into a table column that has CCSID 37, and then retrieve that data from a non-z/OS client. If the SDK for Java does the conversion during insertion of the character into the column, the line feed character is converted to the EBCDIC new line character X'15'. However, during retrieval, some SDKs for Java on operating systems other than z/OS convert the X'15' character to the Unicode next line character (U+0085) instead of the line feed character (U+000A). The next line character causes unexpected behavior for some XML parsers. If you set db2.jcc.sendCharInputsUTF8 to yes, the Db2 for z/OS database server converts the U+000A character to the EBCDIC line feed character X'25' during insertion into the column, so the character is always retrieved as a line feed character.

Conversion of data to the target CCSID on the data source might cause the IBM Data Server Driver for JDBC and SQLJ to use more memory than conversion by the driver. The driver allocates memory for conversion of character data from the source encoding to the encoding of the data that it sends to the data source. The amount of space that the driver allocates for character data that is sent to a table column is based on the maximum length of the data. UTF-8 data can require up to 3 bytes for each character. Therefore, if the driver sends UTF-8 data to the data source, the driver needs to allocate three times the maximum number of characters in the input data. If the driver does the conversion, and the target CCSID is a single-byte CCSID, the driver needs to allocate only the maximum number of characters in the input data.

For example, any of the following settings for db2.jcc.sendCharInputsUTF8 causes the IBM Data Server Driver for JDBC and SQLJ to convert input character strings to UTF-8, rather than the target encoding, before sending the data to the data source:
db2.jcc.sendCharInputsUTF8=yes
db2.jcc.sendCharInputsUTF8=true
db2.jcc.sendCharInputsUTF8=1

This configuration property applies only to Db2 for z/OS.

db2.jcc.sqljStmtCacheSize
Specifies the maximum number of statements that are in the SQLJ statement cache for each DefaultContext instance and each JVM thread. This value applies to SQLJ stored procedures that run in a 64-bit, multi-threaded environment. The default is 10 statements.

In a multi-threaded environment, the IBM Data Server Driver for JDBC and SQLJ caches statements that are associated with each instance of a DefaultContext object that is used by each JVM thread. When the driver attempts to cache a statement after the db2.jcc.sqljStmtCacheSize value is reached. The least recently used cached statement is purged and replaced by the new statement.

This property applies only to IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS Version 11 or later.

db2.jcc.sqljToolsExitJVMOnCompletion
Specifies whether the Java programs that underlie SQLJ tools such as db2sqljcustomize and db2sqljbind issue the System.exit call on return to the calling programs.
Possible values are:
true
Specifies that the Java programs that underlie SQLJ tools issue the System.exit call upon completion. true is the default.
false
Specifies that the Java programs that underlie SQLJ tools do not issue the System.exit call.
db2.jcc.sqljUncustomizedWarningOrException
Specifies the action that the IBM Data Server Driver for JDBC and SQLJ takes when an uncustomized SQLJ application runs. db2.jcc.sqljUncustomizedWarningOrException can have the following values:
0
The IBM Data Server Driver for JDBC and SQLJ does not throw a Warning or Exception when an uncustomized SQLJ application is run. The value 0 is the default.
1
The IBM Data Server Driver for JDBC and SQLJ throws a Warning when an uncustomized SQLJ application is run.
2
The IBM Data Server Driver for JDBC and SQLJ throws an Exception when an uncustomized SQLJ application is run.

This configuration property applies only to Db2 for z/OS or Db2 on Linux, UNIX, and Windows systems.

db2.jcc.ssid
Specifies the Db2 for z/OS subsystem to which applications make connections with IBM Data Server Driver for JDBC and SQLJ type 2 connectivity on Db2 for z/OS.

The db2.jcc.ssid value can be the name of the local Db2 subsystem or a group attachment name or subgroup attachment name.

The property is illustrated in the following example:
db2.jcc.ssid=DB2A

The ssid Connection and DataSource property overrides db2.jcc.ssid.

If you specify a group attachment name or subgroup attachment name, and the Db2 subsystem to which an application is connected fails, the connection ends. However, when new connections use that group attachment name or subgroup attachment name, Db2 for z/OS uses group attachment or subgroup attachment processing to find an active Db2 subsystem to which to connect.

If you do not specify the db2.jcc.ssid property, the IBM Data Server Driver for JDBC and SQLJ uses the SSID value from the application defaults load module. When you install Db2 for z/OS, an application defaults load module is created in the prefix.SDSNEXIT data set and the prefix.SDSNLOAD data set. Other application defaults load modules might be created in other data sets for selected applications.

The IBM Data Server Driver for JDBC and SQLJ must load an application defaults load module before it can read the SSID value. z/OS searches data sets in the following places, and in the following order, for the application defaults load module:
  1. Job pack area (JPA)
  2. TASKLIB
  3. STEPLIB or JOBLIB
  4. LPA
  5. Libraries in the link list
You need to ensure that if your system has more than one copy of the application defaults load module, z/OS finds the data set that contains the correct copy for the IBM Data Server Driver for JDBC and SQLJ first.

This configuration property applies only to Db2 for z/OS.

db2.jcc.sslCertLocation or db2.jcc.override.sslCertLocation
Specifies that an application can configure the location of a trusted certificate file. For applications in possession of the database server certificate, sslCertLocation is the only property that is needed to be configured to instruct IBM Data Server Driver for JDBC and SQLJ to trust the certificate for SSL connections. This property removes the need to import the certificate into a Java truststore database and related driver configurations.

The default value for sslCertLocation is provided by the db2.jcc.sslCertLocation configuration property. If the db2.jcc.sslCertLocation configuration property is not specified, sslTruststoreLocation, and sslCertLocation properties are not configured, and sslConnection is set to true, IBM Data Server Driver for JDBC and SQLJ uses the default truststore for the Java runtime environment.

The db2.jcc.override.sslCertLocation property overrides the sslCertLocation property for a Connection or DataSource object.

db2.jcc.sslConnection or db2.jcc.override.sslConnection
Specifies whether the IBM Data Server Driver for JDBC and SQLJ uses an SSL socket to connect to the data source. If the value is true, the connection uses an SSL socket. If the value is false, the connection uses a plain socket.

The db2.jcc.override.sslConnection property overrides the sslConnection property for a Connection or DataSource object.

If no property is specified, the default value is false.

This property is applicable only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.

db2.jcc.sslKeyStoreLocation or db2.jcc.override.sslKeyStoreLocation
Specifies the name of the Java keystore on the client that contains the client certificate for an SSL connection.

The IBM Data Server Driver for JDBC and SQLJ uses this option only if the db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection property is set to true.

If db2.jcc.sslKeyStoreLocation or db2.jcc.override.sslKeyStoreLocation, or sslKeyStoreLocation is set, and db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection is set to true, the IBM Data Server Driver for JDBC and SQLJ uses the db2.jcc.sslKeyStoreLocation, db2.jcc.override.sslKeyStoreLocation, or sslKeyStoreLocation value instead of the value in the javax.net.ssl.keyStore Java property.

The db2.jcc.override.sslKeyStoreLocationproperty overrides the sslKeyStoreLocation property for a Connection or DataSource object.

If no property is specified, the default value is null.

This property is applicable only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.This configuration property applies only to Db2 for z/OS.

db2.jcc.sslKeyStorePassword or db2.jcc.override.sslKeyStorePassword

Specifies the password for the Java keystore on the client that contains the client certificate for an SSL connection.

The IBM Data Server Driver for JDBC and SQLJ uses this option only if the db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection property is set to true.

If db2.jcc.sslKeyStorePassword, db2.jcc.override.sslKeyStorePassword, or sslKeyStorePassword is set, and db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection is set to true, the IBM Data Server Driver for JDBC and SQLJ uses the db2.jcc.sslKeyStorePassword, db2.jcc.override.sslKeyStorePassword, or sslKeyStorePassword value instead of the value in the javax.net.ssl.keyStorePassword Java property.

The db2.jcc.override.sslKeyStorePasswordproperty overrides the sslKeyStorePassword property for a Connection or DataSource object.

If no property is specified, the default value is null.

This property is applicable only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.This configuration property applies only to Db2 for z/OS.

db2.jcc.sslKeyStoreType or db2.jcc.override.sslKeyStoreType

Specifies the type for the Java keystore on the client that contains the client certificate for an SSL connection.

The IBM Data Server Driver for JDBC and SQLJ uses this option only if the db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection property is set to true.

If db2.jcc.sslKeyStoreType, db2.jcc.override.sslKeyStoreType, or sslKeyStoreType is set, and db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection is set to true, the IBM Data Server Driver for JDBC and SQLJ uses the db2.jcc.sslKeyStoreType, db2.jcc.override.sslKeyStoreType, or sslKeyStoreType value instead of the value in the javax.net.ssl.keyStoreType Java property.

The db2.jcc.override.sslKeyStoreTypeproperty overrides the sslKeyStoreType property for a Connection or DataSource object.

If no property is specified, the default value is null.

This property is applicable only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.This configuration property applies only to Db2 for z/OS.

db2.jcc.sslTrustStoreLocation or db2.jcc.override.sslTrustStoreLocation
Specifies the name of the Java truststore on the client that contains the server certificate for an SSL connection.

The IBM Data Server Driver for JDBC and SQLJ uses this option only if the db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection property is set to true.

If db2.jcc.sslTrustStoreLocation or db2.jcc.override.sslTrustStoreLocation, or sslTrustStoreLocation is set, and db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection is set to true, the IBM Data Server Driver for JDBC and SQLJ uses the db2.jcc.sslTrustStoreLocation, db2.jcc.override.sslTrustStoreLocation, or sslTrustStoreLocation value instead of the value in the javax.net.ssl.trustStore Java property.

The db2.jcc.override.sslTrustStoreLocation property overrides the sslTrustStoreLocation property for a Connection or DataSource object.

If no property is specified, the default value is null.

This property is applicable only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.

db2.jcc.sslTrustStorePassword or db2.jcc.override.sslTrustStorePassword
Specifies the password for the Java truststore on the client that contains the server certificate for an SSL connection.

The IBM Data Server Driver for JDBC and SQLJ uses this option only if the db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection property is set to true.

If db2.jcc.sslTrustStorePassword, db2.jcc.override.sslTrustStorePassword, or sslTrustStorePassword is set, and db2.jcc.sslConnection, db2.jcc.override.sslConnection, or sslConnection is set to true, the IBM Data Server Driver for JDBC and SQLJ uses the db2.jcc.sslTrustStorePassword, db2.jcc.override.sslTrustStorePassword, or sslTrustStorePassword value instead of the value in the javax.net.ssl.trustStorePassword Java property.

The db2.jcc.override.sslTrustStorePassword property overrides the sslTrustStorePassword property for a Connection or DataSource object.

If no property is specified, the default value is null.

This property is applicable only to IBM Data Server Driver for JDBC and SQLJ type 4 connectivity.

db2.jcc.traceDirectory or db2.jcc.override.traceDirectory
Enables the IBM Data Server Driver for JDBC and SQLJ trace for Java driver code, and specifies a directory into which trace information is written. When db2.jcc.override.traceDirectory is specified, trace information for multiple connections on the same DataSource is written to multiple files.
When db2.jcc.override.traceDirectory is specified, a connection is traced to a file named file-name_origin_n.
  • n is the nth connection for a DataSource.
  • If neither db2.jcc.traceFileName nor db2.jcc.override.traceFileName is specified, file-name is traceFile. If db2.jcc.traceFileName or db2.jcc.override.traceFileName is also specified, file-name is the value of db2.jcc.traceFileName or db2.jcc.override.traceFileName.
  • origin indicates the origin of the log writer that is in use. Possible values of origin are:
    cpds
    The log writer for a DB2ConnectionPoolDataSource object.
    driver
    The log writer for a DB2Driver object.
    global
    The log writer for a DB2TraceManager object.
    sds
    The log writer for a DB2SimpleDataSource object.
    xads
    The log writer for a DB2XADataSource object.

The db2.jcc.override.traceDirectory property overrides the traceDirectory property for a Connection or DataSource object.

For example, specifying the following setting for db2.jcc.override.traceDirectory enables tracing of the IBM Data Server Driver for JDBC and SQLJ Java code to files in a directory named /SYSTEM/tmp:
db2.jcc.override.traceDirectory=/SYSTEM/tmp

You must set the trace properties under the direction of IBM Software Support.

db2.jcc.traceLevel or db2.jcc.override.traceLevel
Specifies what to trace.

The db2.jcc.override.traceLevel property overrides the traceLevel property for a Connection or DataSource object.

You specify one or more trace levels by specifying a decimal value. The trace levels are the same as the trace levels that are defined for the traceLevel property on a Connection or DataSource object.

To specify more than one trace level, do an OR (|) operation on the values, and specify the result in decimal in the db2.jcc.traceLevel or db2.jcc.override.traceLevel specification.

For example, suppose that you want to specify TRACE_DRDA_FLOWS and TRACE_CONNECTIONS for db2.jcc.override.traceLevel. TRACE_DRDA_FLOWS has a hexadecimal value of X'40'. TRACE_CONNECTION_CALLS has a hexadecimal value of X'01'. To specify both traces, do a bitwise OR operation on the two values, which results in X'41'. The decimal equivalent is 65, so you specify:
db2.jcc.override.traceLevel=65
db2.jcc.traceFile or db2.jcc.override.traceFile
Enables the IBM Data Server Driver for JDBC and SQLJ trace for Java driver code, and specifies the name on which the trace file names are based.

Specify a fully qualified z/OS UNIX System Services file name for the db2.jcc.override.traceFile property value.

The db2.jcc.override.traceFile property overrides the traceFile property for a Connection or DataSource object.

For example, specifying the following setting for db2.jcc.override.traceFile enables tracing of the IBM Data Server Driver for JDBC and SQLJ Java code to a file named /SYSTEM/tmp/jdbctrace:
db2.jcc.override.traceFile=/SYSTEM/tmp/jdbctrace

You must set the trace properties under the direction of IBM Support.

db2.jcc.traceFileAppend or db2.jcc.override.traceFileAppend
Specifies whether to append to or overwrite the file that is specified by the db2.jcc.override.traceFile property. Valid values are true or false. The default is false, which means that the file that is specified by the traceFile property is overwritten.

The db2.jcc.override.traceFileAppend property overrides the traceFileAppend property for a Connection or DataSource object.

For example, specifying the following setting for db2.jcc.override.traceFileAppend causes trace data to be added to the existing trace file:
db2.jcc.override.traceFileAppend=true

You must set the trace properties under the direction of IBM Support.

db2.jcc.traceFileCount
Specifies the maximum number of trace files for circular tracing. The IBM Data Server Driver for JDBC and SQLJ uses this property only when db2.jcc.traceOption is set to 1. The default value is 2.

You must set the trace properties under the direction of IBM Support.

db2.jcc.traceFileSize
Specifies the maximum size of each trace file, for circular tracing. The IBM Data Server Driver for JDBC and SQLJ uses this property only when db2.jcc.traceOption is set to 1. The default value is 10485760 (10 MB).

You must set the trace properties under the direction of IBM Support.

db2.jcc.traceOption
Specifies how trace data is collected. The data type of this property is int. Possible values of the property include the following values:
0
Specifies the default value that means a single trace file is generated, and that no limit to the size of the file exist.
1
Specifies that the IBM Data Server Driver for JDBC and SQLJ does circular tracing. Circular tracing is done as follows:
  1. When an application writes its first trace record, the driver creates a file.
  2. The driver writes trace data to the file.
  3. When the size of the file is equal to the value of property db2.jcc.traceFileSize, the driver creates another file.
  4. The driver repeats steps 2 and 3 until the number of files to which data written is equal to the value of property db2.jcc.traceFileCount.
  5. The driver writes data to the first trace file, overwriting the existing data.
  6. The driver repeats steps 3 through 5 until the application completes.

The file names for the trace files are the file names that are determined by the db2.jcc.traceFile, db2.jcc.override.traceFile, db2.jcc.traceDirectory, db2.jcc.override.traceDirectory property, which is appended with .1 for the first file, .2 for the second file, and so on.

You must set the trace properties under the direction of IBM Support.

db2.jcc.tracePolling

Indicates whether the IBM Data Server Driver for JDBC and SQLJ polls the global configuration file for changes in trace directives and modifies the trace behavior to match the new trace directives. Possible values are true or false. The default is false for version 3.69 or earlier of the IBM Data Server Driver for JDBC and SQLJ, and the default is true for versions 3.69 and 4.19 or later of the IBM Data Server Driver for JDBC and SQLJ.

The IBM Data Server Driver for JDBC and SQLJ modifies the trace behavior at the beginning of the next polling interval after the configuration properties file is changed. If db2.jcc.tracePolling is set to true while an application is running, the trace is enabled, and information about all the PreparedStatement objects that were created by the application before the trace was enabled are dumped to the trace destination.

db2.jcc.tracePolling polls the following global configuration properties:
  • db2.jcc.override.traceLevel
  • db2.jcc.override.traceFile
  • db2.jcc.override.traceDirectory
  • db2.jcc.override.traceFileAppend
db2.jcc.tracePollingInterval
Specifies the interval, in seconds, for polling the IBM Data Server Driver for JDBC and SQLJ global configuration file for changes in trace directives. The property value is a positive integer. The default is 60. For the specified trace polling interval to be used, the db2.jcc.tracePollingInterval property must be set before the driver is loaded and initialized. Changes to db2.jcc.tracePollingInterval after the driver is loaded and initialized have no effect.
db2.jcc.t2zosTraceFile
Enables the IBM Data Server Driver for JDBC and SQLJ trace for C/C++ native driver code for IBM Data Server Driver for JDBC and SQLJ type 2 connectivity, and specifies the name on which the trace file names are based. This property is required for collecting trace data for C/C++ native driver code.

Specify a fully qualified z/OS UNIX System Services file name for the db2.jcct.t2zosTraceFile property value.

For example, specifying the following setting for db2.jcct.t2zosTraceFile enables tracing of the IBM Data Server Driver for JDBC and SQLJ C/C++ native code to a file named /SYSTEM/tmp/jdbctraceNative:
db2.jcc.t2zosTraceFile=/SYSTEM/tmp/jdbctraceNative

You should set the trace properties under the direction of IBM Support.

This configuration property applies only to Db2 for z/OS.

db2.jcc.t2zosTraceBufferSize
Specifies the size, in KB, of a trace buffer in virtual storage that is used for tracing the processing that is done by the C/C++ native driver code. This value is also the maximum amount of C/C++ native driver trace information that can be collected.

Specify an integer between 64 (64 KB) and 4096 (4096 KB). The default is 256 (256 KB).

The JDBC driver determines the trace buffer size as shown in the following table:

Specified value (n) Trace buffer size (KB)
<64 64
64<=n<128 64
128<=n<256 128
256<=n<512 256
512<=n<1024 512
1024<=n<2048 1024
2048<=n<4096 2048
n>=4096 4096

db2.jcc.t2zosTraceBufferSize is used only if the db2.jcc.t2zosTraceFile property is set.

Recommendation: To avoid a performance impact, specify a value of 1024 or less.

For example, to set a trace buffer size of 1024 KB, use this setting:

db2.jcc.t2zosTraceBufferSize=1024

You must set the trace properties under the direction of IBM Support.

This configuration property applies only to Db2 for z/OS.

db2.jcc.t2zosTraceWrap
Enables or disables wrapping of the SQLJ trace. db2.jcc.t2zosTraceWrap can have one of the following values:
1
Wrap the trace.
0
Do not wrap the trace.
The default is 1. This parameter is optional. The following example shows how to set the property:
DB2SQLJ_TRACE_WRAP=0

You must set db2.jcc.t2zosTraceWrap only under the direction of IBM Support.

This configuration property applies only to Db2 for z/OS.

db2.jcc.useCcsid420ShapedConverter
Specifies whether Arabic character data that is in EBCDIC CCSID 420 maps to Cp420S encoding.

db2.jcc.useCcsid420ShapedConverter applies only to connections to Db2 for z/OS database servers.

If the value of db2.jcc.useCcsid420ShapedConverter is true, CCSID 420 maps to Cp420S encoding. If the value of db2.jcc.useCcsid420ShapedConverter is false, CCSID 420 maps to Cp420 encoding. The value false is the default.

This configuration property applies only to Db2 for z/OS.