Powered by Zoomin Software. For more details please contactZoomin

DataDirect JDBC ReadMe

Autonomous REST Connector JDBC 6.0.1

  • Last Updated: May 8, 2026
  • 16 minute read
    • OpenAccess SDK
    • Documentation

     README
     Progress(R) DataDirect(R)
     Progress(R) DataDirect(R) Autonomous REST Connector(R) for JDBC(TM)
     Release 6.0.1
     February 2026


***********************************************************************
Copyright (C) 2026 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved.

***********************************************************************


CONTENTS

Post-GA Product Announcements
Requirements
Installation Directory
Data Source and Platform Support
Changes since Service Pack 1
Changes for Service Pack 1
Release 6.0.1 Features
DataDirect JDBC Driver Configuration Manager
Notes, Known Problems, and Restrictions
Documentation
Installed Files


     Post-GA Product Announcements
The readme files will no longer be updated with product announcements and new 
features after the General Availability (GA) of the product. For the latest 
updates and enhancements, please refer to the release notes 
(https://www.progress.com/datadirect-connectors/whats-new).


     Requirements

The readme file will no longer be updated with product announcements and 
new features after the General Availability (GA) of the driver. For the 
latest updates and enhancements, please refer to the release notes
(https://www.progress.com/datadirect-connectors/whats-new).


    Data Source and Platform Support

For the latest data source and platform support information, refer to the
Product Compatibility Guide:
https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
datadirect-product-compatibility.pdf


    Changes since Service Pack 1

CVE-2022-41853 - Use of Externally-Controlled Input to Select Classes or Code
('Unsafe Reflection')
-----------------------------------------------------------------------------
Several Progress DataDirect JDBC drivers  utilized a version of HyperSQL
Database that was vulnerable to remote code execution described in
CVE-2022-41853. All impacted drivers have been patched to fix this
vulnerability. For details on impacted drivers and fixed versions, refer to
the following KB article:
https://community.progress.com/s/article/DataDirect-JDBC-Critical-Security-
Bulletin-November-2022-CVE-2022-41853

Enhancements
------------
* The QualifyNormalizedNames property has been added to the driver. This
  property allows you to configure whether the names of relational tables
  normalized from array columns are derived directly from the column name
  or prefixed with parent object names.

* 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.


* The driver has been enhanced to support OAuth 2.0 flows that require client
  credentials be specified in the body of a POST request. You can configure
  the driver to send client credentials in the body of a POST request using
  the new POST setting for the ClientCredentialsMode property. 

* The driver has been updated to remove all sensitive values from the string
  returned by calling getURL(). You might be impacted if your applications or
  tests expect these values when calling the function.

* The following enhancements have been made to improve how the driver handles
  assigning primary keys for tables:

  - The logic the driver uses to assign the default primary key has been
    improved to provide more accurate results.

  - A list of viable primary key candidates can be reviewed by querying the
    INFORMATION_SCHEMA.SYSTEM_SAMPLING_STATUS system table. If you need to
    designate a primary key other than the default, the PRIMARY_KEY_CANDIDATES
    column provides you with a quick reference of candidates ranked by the how
    well they meet the primary key criteria.

  - The driver has been enhanced to generate a primary key column, ROWID, if no
    viable candidates were discovered during sampling.

* The driver has been enhanced to detect JSON roots in endpoint responses
  during sampling. When mapping the response, the driver maps the embedded
  objects in the root to a dedicated table. You can modify the detected JSON
  root for an endpoint using the JSON Root field in the Autonomous REST
  Composer or the JSONRoot property.

* The driver has been enhanced to successfully connect and expose a schema even
  if some of the endpoints in the Model are unable to be sampled. To support 
  this new behavior, the following new features have been introduced: 

  - The driver now supports configurable failure tolerance when sampling
    endpoints. By configuring the new SamplingFailureTolerence property, you
    can specify the number of endpoints for which sampling can fail before the
    driver fails the connection. 

  - The driver has been enhanced to allow you to review the status of endpoints
    to verify that they have been successfully sampled. You can query the 
    statuses of your endpoints in the new 
    INFORMATION_SCHEMA.SYSTEM_SAMPLING_STATUS system table. 

* The driver has been enhanced to support OAuth 2.0 flows that require client
  credentials be specified in only a basic authentication header or only as a
  URL parameter to request an access token. You can configure how client
  credentials are sent in a request using the ClientCredentialsMode property.

* The driver has been enhanced to support specifying default filter values
  (WHERE clauses) for SQL queries. You can specify your list of default 
  parameters using the DefaultQueryOptions property.

* The driver's next page token paging support has been enhanced to use URLs,
  query parameter values, and HTTP header values that are returned in either a
  response body and header. To configure these mechanisms, the driver has added
  support for the new nextPageRequestHeader and nextPageResponseHeader
  parameters in the Model files.

* The Autonomous REST Composer has been enhanced with a new SQL Editor tool.
  The new SQL Editor allows you to execute test queries with an improved
  interface, which includes a view of your schemas, table details, and results.

* The Configuration Manager has been enhanced to simplify configuring OAuth 2.0
  authentication. When specifying one of the new grant flow specific values for
  the AuthenticationMethod property, the Configuration Manager exposes only
  properties related to your grant flow. This functionality assists you in
  configuring your grant flow by showing you what information the driver needs
  to authenticate. Note that the existing OAuth2 value for the
  AuthenticationMethod property will continue to be supported.

* The driver has been enhanced to support the PKCE grant type for OAuth 2.0
  authentication.

* The driver has been enhanced to the support the JWT (JSON Web Token) bearer
  grant type for OAuth 2.0 authentication. You can configure the JWT bearer
  grant authentication using the new ClaimsIssuer, ClaimsSubject,
  JWTCertAlias, JWTCertPassword, and JWTCertStore properties.

* The driver has been enhanced to support fetching access and refresh tokens
  at connection when OAuth 2.0 is enabled. When using the new dynamic
  authorization code grant, you can initiate an authorization code grant flow
  by specifying login credentials using the login prompt for your REST service,
  thereby providing a method to authenticate without fetching access and
  refresh tokens via the Configuration Manager or third-party application. In
  addition, the new EnableLoginPrompt property has been added to configure this
  functionality.

* The driver has been enhanced to support next token paging for APIs that use
  a query parameter (for example, starting_after) to determine what data value
  to start after, when returning the next page of results.

* The driver has been enhanced to support issuing POST requests with an empty
  body. You can enable this functionality using the new #omitWhenEmpty
  modifier in the REST model file.

* The driver has been enhanced to support modifying documents in document
  stores using pre-defined stored procedures. The prebuilt Model files
  for the following data stores have been updated to allow your
  applications to fetch, insert, update, and delete documents:
  - Amazon S3
  - Box
  - Dropbox
  - Google Drive
  - Microsoft Azure Data Lake Storage
  
* The driver has been enhanced to support user-defined functions and
  procedures. To be used by the driver, user-defined functions and
  procedures can be defined in the Model file or by the application.

* Update operation functionality has been enhanced to support APIs that require
  using PATCH, PUT, or POST methods that send only changed fields in the body.
  You can configure update operations using the #update and #sendonlyupdated
  parameters in the Model file.

* The driver has been enhanced to support designating columns as read-only
  using the model file with the new #readonly element.
  information.

* The driver has been enhanced to support flagging columns as nullable using
  the model file with the new #notnull element. See  for more information.

* The driver has been enhanced to support write operations, including Insert,
  Update, and Delete statements. To enable write operations for an endpoint,
  you must configure the new #insert, #update, #delete parameters in the Model
  file.

* The Autonomous REST Composer has been enhanced to allow you to define
  parameter values in endpoints as variables. This functionality simplifies the
  sharing of Model files by allowing you to designate user-specific values as 
  variables. Users with whom you share the file can then provide default values
  for these variables that are replaced across their REST model file, allowing
  them to quickly customize the endpoints according to their use cases.

* The driver has been updated with the new JSONRoot connection property, which
  allows you to limit the results mapped to tables to only the specified object
  when you have multiple objects in an endpoint. This property provides a method
  to map only the data relevant to your application.
  
* The Autonomous REST Composer has been enhanced to allow you to limit the
  values displayed in the Authentication Method drop-down field to only those
  supported by the data source, instead of all those supported by the driver.
  You can select which fields you want to display by selecting them from the
  Configure Authentication Method(s) field on the Connection tab.

* The driver now includes a library of Progress developed prebuilt Model
  files to connect to publicly accessible REST services. The prebuilt Model
  files fully define the requests and pagination settings for a data source,
  eliminating the need to create your own Model file. After selecting your
  data source from the Autonomous REST Composer, you only need to provide your
  authentication credentials to begin accessing your data.
  
* The Configuration Manager has been enhanced with role-specific work flows:

  - The developer view of the Configuration Manager, the Autonomous REST
    Composer, provides access to the new prebuilt Models library and
    configuration properties. In addition, the Hub window has been added that
    includes access to training videos, documentation, and technical support.
    The developer's view can be launched through the new desktop and Start
    menu icons.

  - The user's view provides a simplified interface that allows you to
    configure and test your connection. You can launch the user's view by
    double-clicking on the autorest.jar file or launching it from a command
    prompt.

* The driver now supports responses returned in XML and CSV formats in addition
  to JSON. When sampling an endpoint, the driver detects the format of the
  response before mapping the objects to the relational view of the data. If
  multiple formats are supported by the service, the driver defaults to using
  JSON; however, you can also configure the driver to use your preferred format.

* The driver has been enhanced to support passing custom HTTP headers when
  using OAuth 2.0 authentication. When OAuth 2.0 is enabled
  (AuthenticationMethod=OAuth2), you can now pass the HTTP header name with
  the AuthHeader property and the ID value with the SecurityToken property.
  This functionality can be used for passing the ID string for tenant ID
  authentication.

* The driver has been enhanced to support AWS (Amazon Web Services) credentials
  authentication. When AWS credentials authentication is enabled
  (AuthenticationMethod=AWS), you can configure AWS credentials using the new
  AccessKey, Region, and SecretKey properties.

* The driver has been enhanced to support issuing POST requests that use custom
  parameters. This allows for filtering in scenarios where complex parameter
  syntax is employed, such as using complicated JSON data or empty arrays.

* The driver has been enhanced to support requests that use custom parameters,
  such as those supported by JQL or SOQL, when filtering results. Using the
  custom parameters supported by your service allows queries to be processed
  before returning results to the driver, thereby resulting in more efficient
  processing.
  
Changed Behavior
----------------
* The connection property SpyAttributes has been updated to exclude the 
  attribute load=classname, which was previously used to load the driver 
  specified by the given class name. If a log file name does not include the
  .log extension, the driver automatically appends it.
  
* The behavior of the ClientCredentialsMode property has been updated:
  - The All setting has been replaced with the Default setting. 
  - If set to Default, the client credentials are sent as a basic 
    authentication header.
  - The default setting for the ClientCredentialsMode has changed from All to 
    Default.

* 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:
  https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
  datadirect-product-compatibility.pdf


* Terminology changes in the product interface and documentation:
  
  - The input REST files and Recipe files are now collectively referred to as
    Model files. The functionality of the files has not been modified as a
    result of this change.
  
  - The REST Management Tool is now referred to as the Autonomous REST 
    Composer. The functionality of the tool has not been modified as a result
    of this change.

* The ER Diagram tab on the Autonomous REST Composer has been refreshed to allow
  you to change the focus of the display area to a specific table by selecting
  it from the list. In earlier versions, the selected table was sometimes
  initially exposed outside of the visible area of the display pane, requiring
  the you to scroll to view the it in the diagram.

* The Configuration Manager has been updated to address an issue that prevented
  the value of the JSON Root field to be applied to requests.
  

    Changes for Service Pack 1

Enhancements
------------
* Includes the DataDirect JDBC Driver Configuration Manager for quick
  configuration and testing of your driver. This tool allows you to:
  - Generate and edit connection URLs
  - Test connect connection URLs
  - Execute SQL commands for testing
  - Fetch OAuth tokens
  - Access connection property descriptions and the full product
    documentation
  
  See "DataDirect JDBC Driver Configuration Manager" for more information.

* The Data Direct JDBC Configuration Manger has been enhanced to support the
  generation of Model files. This provides you with a method to quickly
  generate and edit a REST input file.

* The driver has been enhanced to support bearer token and digest
  authentication.
  
* The new HealthURI connection property provides a method to allow you test
  connectivity for authentication methods, such as Basic, Digest, URL
  Parameter-based, or HTTP header-based, that do not perform an explicit action
  upon connection.

* The new TransactionMode connection property allows you to determine how the
  driver handles manual transactions.

* The driver has been enhanced to support the following new paging parameters
  in the Model file: fieldListParameter, hasMoreElement, pageSizeElement,
  totalPagesElement, and totalRowsElement.

* 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.

* The driver has been enhanced to use proxy server settings defined in the JVM
  system properties by default. If no proxy settings are defined in the
  connection string or data source, the driver will attempt to use the values
  of the http.proxyHost and http.proxyPort JVM system properties to connect to
  the database.

* 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 driver has been enhanced to allow you to define custom authentication 
  requests, including the new CustomAuthParams connection property. If your
  service does not support one of the standard authentication methods supported
  by the driver, you can modify the Model file to define a custom 
  authentication flow.

* The driver has been enhanced to allow you to customize how HTTP response
  status codes are processed by the driver. By configuring the Model file,
  you can define error responses for codes that are returned by the service,
  including driver actions and error messages.
  
* The driver has been enhanced to support OAuth 2.0 authentication.

* The driver has been enhanced to support requests for endpoints that use
  custom HTTP-headers.

Refer to the User's Guide for detailed information on these enhancements.

Changed behavior 
----------------
* The CreateMap and SchemaMap properties are no longer supported. The driver
  now generates the schema map for each session and stores it internal memory.

* The LoginTimeout property is no longer supported. The LoginTimeout property
  was used to specify the amount of time that the driver waited for a
  connection to be established before timing out the connection request.

Refer to the User's Guide for detailed information on these changes.


    Release 6.0.0 Features

The driver supports SQL read-only access to a REST API data sources that
express payloads using the JSON format. To support SQL access to Rest API data
sources, the driver creates a relational map of the JSON data model and 
translates SQL statements provided by the application to native queries and Web
service calls. In addition, the driver supports multiple simultaneous sessions.

* The driver supports SQL read-only access to REST API endpoints returning
  JSON payloads.

* The driver supports all JDBC Core functions.

* The driver supports the core SQL-92 grammar.

* The driver supports standard JSON data types and additional data types
  through data type inference.
  
* The driver supports using internal memory or a configurable REST file to
  define REST responses and relational mapping.

* The driver heuristically maps data types, eliminating the need to define
  native data types in most scenarios.
  
* The driver supports basic, HTTP-header based, URL-Parameter based and
  no authentication.

* The driver supports the handling of large result sets with configurable
  paging and the FetchSize and WSFetchSize connection properties.
  
* The driver supports SSL data encryption.


    DataDirect JDBC Driver Configuration Manager

The driver includes a browser-based configuration tool, the DataDirect JDBC
Driver Configuration Manager, that allows you to generate and test connection
URLs that you can use with your application. You can launch the Configuration
Manager by double-clicking on the driver jar file. Or, from the command line,
you can navigate to the directory containing the driver jar file; then, execute
the following command:

 java -jar autorest.jar

The Configuration Manager will open in your default web browser. For more
information, refer to the user's guide for your driver.


	Notes, Known Problems, and Restrictions

The following are notes, known problems, and restrictions with Release 6.0.0 of
the driver.

Parsing Object Names with Spaces
--------------------------------
Currently, when parsing root-level JSON objects to map to table names during
the sampling process, the driver does not properly handle spaces in the name.
When the JSON root object name contains spaces, the driver uses only the
portion of the name before the first space to name the corresponding object in
the relational map. For example, if you sampled an object named "example
table", the driver would generate a corresponding table named "EXAMPLE",
instead of "EXAMPLE TABLE".

Aggregates for Date/Time Data Types
-----------------------------------
The MIN and MAX aggregates for the Date/Time data types my return incorrect
values.

JTA Support
-----------
JDBC distributed transactions through JTA are not supported.

Executing DataDirect Shell Script
---------------------------------
For UNIX/Linux 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

JDBC Methods
------------
The following notes on JDBC methods apply generally to Progress DataDirect for
JDBC drivers. Additional information on driver support for the JDBC API can be
found in the "JDBC Support" section of the product user's guide.

* The DataDirect 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 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.


     Documentation

PROGRESS DATADIRECT AUTONOMOUS REST CONNECTOR FOR JDBC DOCUMENTATION SET
------------------------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:

https://docs.progress.com/category/datadirect-autonomous-rest-connector

You can access the online help system directly in either of the following ways.
* Via the HTML redirect in the installation Help directory
* By selecting Help from the menu in the Configuration Manager


     Installed Files

When you extract the contents of the installation download package to your
installer directory, you will notice the following files that are required to
install the driver:

*  Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.exe
   - DriverModules
     - PROGRESS_DATADIRECT_JDBC_AUTOREST_6.0.1_INSTALL.iam.zip
     - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip

*  Non-Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.jar
   - DriverModules
     - PROGRESS_DATADIRECT_JDBC_AUTOREST_6.0.1_INSTALL.iam.zip
     - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip

When you install the driver, the installer creates the following directories and
files in the product installation directory in the default installation
directory or in an installation directory you specify, represented by
INSTALL_DIR.


INSTALL_DIR/:
-------------
LicenseTool.jar            Product license file manager

ddprocinfo.exe             Windows executable to start the Processor Information
                           Utility

ddprocinfo                 UNIX/Linux script to start the Processor Information
                           Utility

fixes.txt                  Information on resolved issues for Progress
                           DataDirect for JDBC drivers


INSTALL_DIR/Examples/Bulk/:
---------------------------
Load From File/bulkLoadFileDemo.java
                           Java source example for bulk loading from a CSV file

Load From File/load.txt    Sample data for the example

Streaming/bulkLoadStreamingDemo.java
                           Java source example for bulk loading from a result
                           set

Threaded Streaming/bulkLoadThreadedStreamingDemo.java
                           Java source example for multi-threaded bulk loading
                           from a result set

Threaded Streaming/README.txt
                           Instructions on how to use the thread.properties file

Threaded Streaming/thread.properties
                           Properties file for the example


INSTALL_DIR/Examples/JNDI/:
---------------------------
JNDI_FILESYSTEM_Example.java
                           Example Java(TM) source file

JNDI_LDAP_Example.java     Example Java source file



INSTALL_DIR/help/:
------------------
*.html                     HTML redirects to driver help systems


INSTALL_DIR/install/: 
---------------------
.psc_dd_inst_reg.xml       Support file for the installation logs

logs/*.*                   Log file generated upon installation


INSTALL_DIR/jdbcisql/:
----------------------
jdbcisql.bat               Batch file to start JDBC iSQL

jdbcisql.jar               Java program to start JDBC iSQL

jdbcisql.sh                Shell script to start JDBC iSQL


INSTALL_DIR/lib/60/:
--------------------
autorest.jar               Autonomous REST Connector Driver and DataSource
                           classes


INSTALL_DIR/NOTICES/:
---------------------
JDBC for Autonomous REST Connector v6.0 notices.txt
                           Third party agreement information


INSTALL_DIR/pool manager/:
--------------------------
pool.jar                   All DataDirect Connection Pool Manager classes


INSTALL_DIR/READMES/:
---------------------
JDBC for Autonomous REST Connector v6.0 readme.txt
                           This file


INSTALL_DIR/restfiles/:
-----------------------
example.rest               Example Model file 


INSTALL_DIR/testforjdbc/:
-------------------------
Config.txt                 Configuration file for DataDirect Test

ddlogging.properties       Logging properties file

testforjdbc.bat            Batch file to start DataDirect Test

testforjdbc.sh             Shell script to start DataDirect Test

lib/testforjdbc.jar        DataDirect Test classes


INSTALL_DIR/uninstall/:
-----------------------
.com.zerog.registry.xml    Support file for the uninstaller

.psc_dd_uninst_reg.xml     Support file for the uninstaller

InstallScript.iap_xml      Support file for the uninstaller

installvariables.properties
                           Support file for the Windows uninstaller

Uninstall_JDBC.exe         Windows uninstaller

Uninstall_JDBC.lax         Support file for the Windows uninstaller

uninstaller.jar            Java uninstaller

autorest/*.*               Support files for the uninstaller

resource/*.*               Resource files for the Windows uninstaller


February 2026
End of README

TitleResults for “How to create a CRG?”Also Available inAlert