Progress DataDirect for JDBC for Db2

    An asterisk (*) indicates support that was added in a hotfix or software patch subsequent to a release.

    Refer to the following resources for additional information:

    • Product Compatibility Guide: Provides the latest data source and platform support information. 
    • Fixes: Describes the issues resolved since general availability.

    Version 6.0.0

    ENHANCEMENTS
    • The driver has been enhanced to comply with FIPS standards for data encryption. As part of this enhancement, the driver was tested with FIPS 140-3 enabled using a Red Hat OpenJDK 21 on a Red Hat Universal Base Image 9 instance. Refer to FIPS (Federal Information Processing Standard) for details.*
      Available: 1/31/2025 | 6.0.0.000717
    • The driver has been enhanced to support the TLSv1.3 cryptographic protocol. As part of this enhancement, the default cryptographic protocol enabled by the driver has been updated to TLSv1.3. For details, refer to CryptoProtocolVersion.*
    • The driver has been enhanced to support the Generic Security Standard (GSS) 
      plug-in for authentication. The plug-in consists of a set of APIs that you can
      implement to customize your authentication requirements and interoperate with 
      various security methods. You can configure a GSS plug-in using the refreshed 
      AuthenticationMethod property and the new GSSPluginName and GSSPluginObject properties. For details, refer to AuthenticationMethod, GSSPluginName, and GSSPluginObject.
    • The driver has been enhanced to support connecting to a proxy server through
      an HTTP connection. HTTP proxy support is configurable with the new 
      ProxyHost, ProxyMode, ProxyPassword, ProxyPort, and ProxyUser connection 
      properties. For details, refer to Connection Properties.
    • The KeepAlive connection property has been added to the driver. Enabling the
      KeepAlive property allows the client to keep idle TCP connections active by periodically passing packets to the server. For details, refer to KeepAlive.
    • The driver has been enhanced to support Windows Defender Credential Guard when using Kerberos Authentication. For details, refer to Configuring Kerberos Authentication.
    • The driver has been enhanced to include timestamp in the Spy and JDBC packet
      logs by default. If required, you can disable the timestamp logging by
      specifying the following at connection: For Spy logs, set
      spyAttributes=(log=(file)Spy.log;timestamp=no) and for JDBC packet logs,
      set ddtdbg.ProtocolTraceShowTime=false.
    • Interactive SQL for JDBC is now installed with the product. It is a command-line interface that supports connecting your driver to a data source, executing SQL statements and retrieving results in a terminal. This tool provides a method to quickly test your drivers in an environment that does not support GUIs.
    • Added the RegisterStatementPoolMonitorMBean connection property. Note that the
      driver no longer registers the Statement Pool Monitor as a JMX MBean by default.
      You must set RegisterStatementPoolMonitorMBean to true to register the Statement Pool Monitor and manage statement pooling with standard JMX API calls. For details, refer to RegisterStatementPoolMonitorMBean.
    • Support for cursor type OUT parameters for DB2 for Linux, UNIX, Windows stored procedures has been added to the driver.
    CHANGED BEHAVIOR
    • The TLSv1.1 and TLSv1.0 cryptographic protocols are now disabled by default. These protocols are no longer considered secure and, therefore, are no longer recommended for use. However, the driver still supports TLSv1.1 and TLSv1.0 for legacy servers that do not support more secure protocols. For details, refer to CryptoProtocolVersion.*
    • The SSLv3 and SSLv2 cryptographic protocols are no longer supported.*
    • The driver supports Kerberos authentication. It no longer sets the java.security.krb5.conf system property to force the use of the krb5.conf file installed with the driver jar files in the /lib directory of the product installation directory. For the latest instructions on configuring the drivers for Kerberos, refer to the user's guide.
    • The installer program now requires you to install a JRE that is Java SE 11 or higher before running the installer. In earlier versions, the JRE used by the installer program was included in the product. However, to avoid potential security vulnerabilities, the installer program no longer includes a JRE. Instead, the installer program uses the JRE in your environment to allow for the most secure version of a JRE to be used.*
      Note: This change does not affect the JVM requirements for the driver. For the latest driver requirements, refer to the Product Compatibility Guide.
      Available: July 3, 2024
    • For DB2 for z/OS, the AlternateID connection property has been modified to set the name of the schema in the DB2 CURRENT SCHEMA special register instead of the DB2 CURRENT SQLID special register. AlternateID now sets the name of the schema in the CURRENT SCHEMA special register for DB2 for i, DB2 for Linux/UNIX/Windows, and DB2 for z/OS. For details, refer to AlternateID.
    NOTES, KNOWN ISSUES, and LIMITATIONS
    • BLOB, CLOB, and DBCLOB Type Limitation: Unlike previous versions of the Db2 driver, the 6.0 version of the driver does not buffer the input stream if a parameter is a BLOB, CLOB, or DBCLOB type.
    • ResultSetMetaData.getObject Method: The ResultSetMetaData.getObject method returns a Long object instead of a BigDecimal object when called on BIGINT columns. In versions prior to 3.5, the driver returned a BigDecimal object.
    • No Support for Scroll-sensitive Result Sets: Scroll-sensitive result sets are not supported. Requests for scroll-sensitive result sets are downgraded to scroll-insensitive result sets when possible. When this happens, a warning is generated.
    • Implicit Conversions of the Parameter Values: The Db2 driver must be able to determine the data type of the column or stored procedure argument to implicitly convert the parameter value. Not all Db2 database versions support getting parameter metadata for prepared statements. Implicit conversions are not supported for database versions that do not provide parameter metadata for prepared statements.
    • GSS Plug-in Authentication Implementation: The following limitations apply to connection pooling through LDAP using GSS authentication:
      • GSSPluginObject cannot be specified in the connection URL.
      • GSSPluginObject cannot be stored in LDAP for pooled connections.
    • Executing Scripts (for UNIX Users): If you receive an error message when executing any DataDirect for JDBC shell script, make sure that the file has EXECUTE permission. To do this, use the chmod command. For example, to grant EXECUTE permission to the testforjdbc.sh file, change to the directory containing testforjdbc.sh and enter: chmod +x testforjdbc.sh
    • Distributed Transactions Using JTA: If you are using JTA for distributed transactions, you may encounter problems when performing certain operations.
    • JDBC Methods: The following notes on JDBC methods apply generally to Progress DataDirect for JDBC drivers.
      • The driver allows PreparedStatement.setXXX methods and ResultSet.getXXX methods on Blob/Clob data types, in addition to the functionality described in the JDBC specification. The supported conversions typically are the same as those for LONGVARBINARY/LONGVARCHAR, except where limited by database support.
      • Calling CallableStatement.registerOutputParameter(parameterIndex, sqlType) with sqlType Types.NUMERIC or Types.DECIMAL sets the scale of the output parameter to zero (0). According to the JDBC specification, calling CallableStatement.registerOutputParameter(parameterIndex, sqlType, scale) is the recommended method for registering NUMERIC or DECIMAL output parameters.
      • When attempting to create an updatable, scroll-sensitive result set for a query that contains an expression as one of the columns, the driver cannot satisfy the scroll-sensitive request. The driver downgrades the type of the result returned to scroll-insensitive.
      • The driver supports retrieval of output parameters from a stored procedure before all result sets and/or update counts have been completely processed. When CallableStatement.getXXX is called, result sets and update counts that have not yet been processed by the application are discarded to make the output parameter data available. Warnings are generated when results are discarded.
      • The preferred method for executing a stored procedure that generates result sets and update counts is using CallableStatement.execute(). If multiple results are generated using executeUpdate, the first update count is returned. Any result sets prior to the first update count are discarded. If multiple results are generated using executeQuery, the first result set is returned. Any update counts prior to the first result set are discarded. Warnings are generated when result sets or update counts are discarded.
      • The ResultSet methods getTimestamp(), getDate(), and getTime() return references to mutable objects. If the object reference returned from any of these methods is modified, re-fetching the column using the same method returns the modified value. The value is only modified in memory; the database value is not modified.

    Version 5.1.4

    ENHANCEMENTS
    • The CryptoProtocolVersion connection property has been added to the driver. This property can be used to avoid vulnerabilities associated with SSLv3 and SSLv2, including the POODLE vulnerability. For details, refer to CryptoProtocolVersion.
    • The connection properties RandomGenerator and SecureRandomAlgorithm have been
      added to the driver.
      • RandomGenerator allows you to specify the type of random number generator (RNG) the database uses for secure seeding.
      • SecureRandomAlgorithm can be used to specify the SecureRandom number generation algorithm used for secure seeding with implementations of JDK 8 or higher when RandomGenerator is set to secureRandom.
      For details, refer to RandomGenerator and SecureRandomAlgorithm.
    • Support for result set holdability has been added to the driver.

    Version 5.1.3

    No new features 

    Version 5.1.2

    No new features

    Version 5.1.0

    No new features 

    Connect any application to any data source anywhere

    Explore all DataDirect Connectors

    A product specialist will be glad to get in touch with you

    Contact Us