Progress DataDirect Connect for JDBC for Progress OpenEdge

    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 5.1.4

      ENHANCEMENTS
      • The driver has been enhanced to support the void cancel() method for SELECT 
        statements with OpenEdge V12.4 and higher. If a SELECT statement is cancelled 
        during the first or a subsequent fetch operation, the driver returns a 
        "query aborted" exception. This method can be used by a thread to cancel a 
        statement that is being executed by another thread. One or more statements may 
        be cancelled if the method is called on a statement object that is executing 
        multiple statements simultaneously and the driver may not return expected results.*
      • 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 (JDBCISQL) is now installed with the product. JDBCISQL 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.*
      • 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. Refer to CryptoProtocolVersion for details.
      • Support for result set holdability has been added to the driver.
      CHANGED BEHAVIOR
      • 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: 7/3/2024
      • 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. Refer to RegisterStatementPoolMonitorMBean for details.*
      NOTES, KNOWN ISSUES, AND LIMITATIONS
      • 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 Connect 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 DataDirect Connect Series for JDBC drivers allow 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 DataDirect Connect Series for JDBC drivers support 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.2

      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