Autonomous REST Connector 8.0 (ODBC)

Progress DataDirect Autonomous REST Connector for ODBC

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

Version 8.0.1 

Enhancements
  • For UNIX: The driver binaries now include debugging symbols that can be used for diagnosing and debugging issues in the driver.
    Available: 9/30/2025 | 08.01.2078
  • For Windows: The product package now includes .pdb files. These files contain debugging symbols that can be used for diagnosing and debugging issues in the driver.
    Available: 9/30/2025 | 08.01.2078
  • The Qualify Normalized Names option has been added to the driver. This option 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.
    Available: 9/30/2025 | 08.01.2078
  • 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 0 (POST) setting for the OAuth Client Credentials Mode (ClientCredentialsMode) option. Refer to OAuth Client Credentials Mode for more details.
    Available: 3/21/2025 | 08.01.1931
  • 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 satisfy the primary key criteria.
    • The driver has been enhanced to generate a primary key column, ROWID, if no viable candidates were discovered during sampling.
    Refer to Determining the primary key for more details.
    Available: 9/10/2024 | 08.01.1730
  • 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 JSON Root (JSONRoot) option. Refer Sampling REST endpoints and JSON Root to for more details.
    Available: 9/10/2024 | 08.01.1730
  • The ICU library files that are installed with the Windows version of the product have been upgraded to version 74.1. In addition, the ICU library file names have changed. For the 32-bit driver, the ICU file name has changed from ivicu28.dll to ivicu.dll. For the 64-bit driver, the ICU file name has changed from ddicu28.dll to ddicu.dll. This upgrade is available starting in build 08.02.1072 of the ICU library files.*
  • 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 Sampling Failure Tolerance (SamplingFailureTolerance) option, you can specify the number of endpoints for which sampling can fail before the driver fails the connection. See Sampling Failure Tolerance for more details.
    • 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. See Reviewing the status of your endpoints for more details.
  • The ICU library files that are installed with the Linux version of the product have been upgraded to version 74.1. In addition, the ICU library file names have changed. For the 32-bit driver, the ICU file name has changed from libivicu28.so to  libivicu.so. For the 64-bit driver, the ICU file name has changed from libddicu28.so to libddicu.so. This upgrade is available starting in build 08.02.0965 of the ICU library files.
  • Available: 3/1/2024 | 08.01.1551
  • 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 OAuth Client Credentials Mode (ClientCredentialsMode) option. See OAuth Client Credentials Mode and OAuth 2.0 authentication for more details.
    Available: 3/1/2024 | 08.01.1551
  • 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 Default Query Options (DefaultQueryOptions) options. See Default Query Options for more details.
    Available: 3/1/2024 | 08.01.1551
  • 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. See Paging for more details.
    Available: 3/1/2024 | 08.01.1551
  • 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 Authentication Method (AuthenticationMethod) option, the Configuration Manager exposes only options 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 Authentication Method option will continue to be supported.
    Available: 11/22/2023 | 08.01.1431
  • The driver has been enhanced to the support the JWT (JSON Web Token) bearer grant for OAuth 2.0 authentication. You can configure the JWT bearer grant authentication using the new Claims Issuer, Claims Subject, JWT Certificate Alias, JWT Certificate Password, and JWT Certificate Store options.
    Available: 11/22/2023 | 08.01.1431
  • The driver has been enhanced to support the PKCE grant type for OAuth 2.0 authentication.
    Available: 11/22/2023 | 08.01.1431
  • 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.
    Available: 11/22/2023 | 08.01.1431
  • The evaluation version of the driver has been enhanced with Pendo.io in order to track user interaction with the ODBC Configuration Manager. Telemetry data will be analyzed to identify user workflows and potential issues with the interface. The collected data will then be used to define improvements that will result in a better user experience. Note that Pendo.io only tracks interactions with the product and does not capture user specific connection property values or any personally identifiable information.
  • 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 fetching access and refresh tokens at connection when OAuth2.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. You can configure this functionality using the new Enable Login Prompt (EnableLoginPrompt) option.
  • The installer program has been enhanced to support Azul Zulu JRE 11. As a result of this change, the installer has ended support for platforms that do not support Java SE 8 or higher. The installer supports the following operating systems after the enhancement:
    • Windows 8.1 or higher
    • Windows Server 2012 RC2 or higher
    • UNIX/Linux: Any operating system on a machine using a JRE that is Java SE 8 or higher (LTS version), including Oracle JDK, OpenJDK, and IBM SDK (Java) distributions.
    Important: These changes do not affect the operating system requirements of the driver.*
  • 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. See for more 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 JSON Root (JSONRoot) connection option, which allows you to limit the results mapped to tables to only the specified object when you have multiple objects in an endpoint. This option 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.*
  • On Windows, the driver now includes the DataDirect ODBC Driver Configuration Manager for quick configuration and testing of your driver. This Configuration Manager allows you to:
    • Configure data sources
    • Generate and edit connection strings
    • Test connect data sources and connection strings
    • Execute SQL commands for testing
    • Fetch OAuth tokens and configure OAuth
    • Access connection option descriptions and the full product documentation
  • On Windows, the DataDirect ODBC Configuration Manager has been enhanced to support the generation of input REST files. This provides you with a method to quickly generate and edit a REST input file.
  • The driver now includes a library of Progress developed Recipe (input REST) files to connect to publicly accessible REST services. The Recipe files define the requests and pagination settings for a data source, eliminating the need to create your own input REST file. After selecting your data source from the Configuration Manager, you only need to provide your authentication credentials to begin accessing your data.
  • On Windows, the Configuration Manager has been enhanced with role-specific work flows:
    • On Windows, the developer view of the Configuration Manager provides access to the new Recipes library, REST Management Tool, 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 through the ODBC Administrator.
  • 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 Authentication Header (AuthHeader) option and the ID value with the Security Token (SecurityToken) option. 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=43), you can configure AWS credentials using the new Access Key (AccessKey), Region (Region), and Secret Key (SecretKey) options.
  • 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 issuing GET 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 driver, thereby resulting in more efficient processing.
  • The driver has been enhanced to support bearer token and digest authentication.
  • The new Health Check URI (HealthURI) connection option provides a method to 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 driver has been enhanced with the new Array Normalization Threshold (ArrayNormalizationThreshold) connection option. Array Normalization Threshold allows you to specify the length of arrays (in elements) at which the driver begins to normalize arrays to child tables when generating a flattened view. This provides you with a method to control the size and focus of your parent table when encountering large arrays or nested arrays.
  • The driver has been enhanced to support connecting through a proxy server. You can configure this feature using the new Proxy Host (ProxyHost), Proxy Port (ProxyPort), Proxy User (ProxyUser), and Proxy Password (ProxyPassword) connection options.
  • The new Encryption Method (EncryptionMethod) connection option allows you to determine when TLS/SSL data encryption is enabled.
  • The new Port Number (PortNumber) connection option allows you to specify the port number of the server listener the TCP port of the server that is listening for REST API requests.
  • The new Refresh Dirty Cache (RefreshDirtyCache) connection option allows you to determine whether the driver refreshes a dirty cache on the next fetch operation from the cache.
  • The new Refresh Schema (RefreshSchema) connection option allows you to determine whether the driver automatically refreshes the relational map of when connecting.
  • The new Authorization URI (AuthURI) connection option allows you to specify the endpoint used for obtaining an authorization code from a third-party authorization service for OAuth 2.0 implementations.
  • The new Statement Call Limit (StmtCallLimit) and Statement Call Limit Behavior (StmtCallLimitBehavior) connection options allow you to limit the number of calls made to your web service.
  • The new Web Service Fetch Size (WSFetchSize) allows you to specify the number of rows of data the driver attempts to fetch for each JDBC call. This provides you with a method to tune the driver for your ideal balance throughput and response time.
  • The new Web Service Pool Size (WSPoolSize) specifies the maximum number of sessions the driver uses. This allows the driver to have multiple web service requests active when multiple JDBC connections are open, thereby improving throughput and performance. See Web Service Pool Size on page 164 for details.
  • The new Web Service Retry Count (WSRetryCount) connection options specifies the number of times the driver retries a timed-out Select request.
  • The new Web Service Timeout (WSTimeout) connection option specifies the time, in seconds, that the driver waits for a response to a web service request.
  • The driver has been enhanced to support the following new paging parameters in the input REST file: fieldListParameter, hasMoreElement, pageSizeElement, totalPagesElement, and totalRowsElement.
  • The drivers using base version B0649 and later have been enhanced to include timestamp in the internal packet logs by default. If you want to disable the timestamp logging in packet logs, set PacketLoggingOptions=1. The internal packet logging is not enabled by default. To enable it, set EnablePacketLogging=1.
  • The Driver Manager for UNIX/Linux has been enhanced to support setting the Unicode encoding type for applications on a per connection basis. By passing a value for the SQL_ATTR_APP_UNICODE_TYPE attribute using SQLSetConnectAttr, your application can specify the encoding at connection. This allows your application to pass both UTF-8 and UTF-16 encoded strings with a single environment handle.
    The valid values for the SQL_ATTR_APP_UNICODE_TYPE attribute are SQL_DD_CP_UTF8 and SQL_DD_CP_UTF16. The default value is SQL_DD_CP_UTF8.
    This enhancement is available in build 08.02.0449 of the driver manager.
  • The driver has been enhanced to allow you to define custom authentication requests, including the new Custom Auth Params (CustomAuthParams) connection option. If your service does not support one of the standard authentication methods supported by the driver, you can modify the input REST file to define token-based authentication flows.
  • The driver has been enhanced to allow you to customize how HTTP response status codes are processed by the driver. By configuring the input REST 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.
Changed Behavior
  • The behavior of the OAuth Client Credentials Mode (ClientCredentialsMode) option has been updated:
    • The behavior of the 0 setting has been changed so that client credentials are sent only as a basic authentication header. For earlier builds of the driver, client credentials were sent as both a basic authentication header and a URL parameter.
    • The 0 (All) setting has been changed to 0 (Default) in the Configuration Manager and documentation to reflect the new behavior.
    • The default setting for the OAuth Client Credentials Mode is 0 (Default).
    Available: 3/21/2025 | 08.01.1931
  • The product package no longer includes the ODBC Cursor library file (odbccurs.so) because it has some known security vulnerabilities that could potentially expose you to security risks.*
    Note: The installer program cannot remove the ODBC Cursor library file automatically while installing a new version of the driver. Remove it manually.
  • The installer program has been updated to no longer install common components for drivers that do not use them. As a result, the installer program no longer installs the following common components for the Autonomous REST Connector: *
    • OpenSSL library files, such as ivopenssl30.so, ddopenssl30.so, fips.so, and openssl.cnf.
    • Curl library files, such as libivcurl28.so and libddcurl28.so.

    If the files are not used by any other DataDirect driver on your machine, you can safely remove them from existing product directories.

  • 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 attribute for User connection option has changed from LogonID to User.
  • The behaviors assigned to valid values for the Create Map (CreateMap) have been modified.
  • The supported valid values for the Authentication Method (AuthenticationMethod) option have changed from enum to numeric types. If you are using a connection string or odbc.ini file for an earlier version of the driver, you will need to update the values specified for these options.
  • The Application Using Threads (ApplicationUsingThreads) connection option is no longer supported. The driver now works with single-threaded and multi-threaded applications for all connections.
  • The Result Memory Size (ResultMemorySize) connection option is no longer supported. The size of an intermediate result set is now determined by a percentage of the max Java heap size.
  • The IANAAppCodePage (IANAAppCodePage) connection option is longer supported. IANAAppCodePage specified Internet Assigned Numbers Authority (IANA) value if your application was not Unicode enabled or if your database character set was not Unicode.
  • The Login Timeout (LoginTimeout) is no longer supported. As a result, connection requests do not timeout, but the driver responds to the SQL_ATTR_LOGIN_TIMEOUT attribute.
  • The Report Codepage Conversion Errors (ReportCodepageConversionErrors) is no longer supported. As a result, the driver behavior has changed to substitute 0x1A for each character that cannot be converted and does not return a warning or error.
Notes, Known Issues, and Limitations
  • The driver does not support specifying values for the same connection option multiple times in a connection string or DSN. If a value is specified using the same attribute multiple times or using both long and short attributes, the connection may fail or the driver may not behave as intended.
  • 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".
  • The driver has been designed to handle large result sets that result. However, out-of-memory errors can still occur. The following items outline how to reduce the likelihood of out-of-memory errors for your environment.
    • Reduce FetchSize to reduce demands on memory. By lowering the maximum number of rows as specified by FetchSize, you lower the number of rows the driver is required to process before returning data to the application. Thus, you reduce demands on memory and decrease the likelihood of out-of-memory errors.
    • Decrease ResultMemorySize until results are successfully returned. Intermediate results larger than the value specified will be written to disk as opposed to held in memory. When configured correctly, this avoids memory limitations by not relying on memory to process larger intermediate results. Be aware that while writing to disk reduces the risk of out-of-memory errors, it also negatively impacts performance. For optimal performance, decrease this value only to a size necessary to avoid errors. By default, ResultMemorySize is set to -1, which sets the maximum size of intermediate results held in memory to a percentage of the max Java heap size. If you received errors using the default configuration, use the max Java heap size divided by 4 as a starting point when tuning this option.
    • Increase the JVM heap size. By increasing the max Java heap size, you increase the amount of data the driver can accumulate in memory and avoid out-of-memory errors.
  • All of the Release 8.0 Core Components (header files, etc.) needed for development of ODBC applications on UNIX and Linux are installed into the /include directory created by the product installer.
    Please read the notices.txt file in the installation directory for licensing information regarding the ODBC Core Components. Contact your Progress DataDirect representative if you have any questions.
    Developers using programming languages other than C++: The DataDirect ODBC Driver Manager is a C++ shared library. The ODBC Driver Manager can be used with any language that supports loading a C++ shared library; however, if you are using a programming language other than C++, you must take additional steps to ensure that the C++ libraries are initialized properly when loaded. If you are not using C++, consult your compiler documentation for instructions on using C++ shared libraries with your application.
  • A default installation of the product on UNIX and Linux assumes that the value of the LANG environment setting is en_US. If your locale is not set to en_US, the drivers may not return error messages properly. In this case, you must create a symbolic link in the <Install_Dir>/locale directory that has the same value as the LANG environment setting. This link must point to the <Install_Dir>/locale/en_US directory.
  • The column attributes 1001 and 1002, which were assigned as DataDirect-specific attributes, were inadvertently used as system attributes by the Microsoft 3.0 ODBC implementation. Applications using those attributes must now use 1901 and 1902, respectively.
  • Because of inconsistencies in the ODBC specification, users attempting to use SQL_C_NUMERIC parameters must set the precision and scale values of the corresponding structure and the descriptor fields in the Application Parameter Descriptor.
  • You may receive a 126 error when adding or configuring a data source stored on a network location. This might be caused by the settings of the User Account Control (UAC) security feature on Windows 10. To work around this issue:
    Important: Implementing this fix disables security safeguards that are designed to protect your machine. Before starting, refer to the following Microsoft documentation for potential risks associated with disabling the UAC feature: http://windows.microsoft.com/en-us/windows/what-are-user-account-control-settings
    1. From the Start menu, type regedit in the search field; then, select regedit from the results list. The Registry Editor window opens.
    2. Navigate to the following registry subkey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    3. Right click on the subkey; then, select New > DWORD Value.
    4. Rename the new value EnableLinkedConnections.
    5. Right-click EnableLinkedConnections, and then click Modify. The Edit DWORD Value window opens.
    6. In the Value data field, type 1. Click OK.
    7. Close the Registry Editor; then, restart your computer.

Version 8.0.0 

Features
  • The driver supports SQL read-only access to REST API endpoints that return JSON payloads. 
  • The driver supports all ODBC Core and Level 1 functions and some Level 1 and Level 2 features. 
  • 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 Fetch Size connection option. 
  • The driver includes a new Tableau data source file (Windows only) that provides improved functionality when accessing your data with Tableau.


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