Release-March 25, 2017

Progress DataDirect Cloud™

Progress DataDirect Cloud enables simple, fast connections to cloud and on-premise data regardless of source—SaaS apps, big data stores, or social networks—using a single standards-based ODBC or JDBC driver-, or OData-enabled application. For example, an organization might want to use a reporting application to predict travel budgets by analyzing travel data stored in the cloud. DataDirect Cloud can provide connectivity with simple configuration instead of extensive coding. In addition, when you install the DataDirect Cloud On-Premises Connector on a machine behind your firewall, you can connect to on-premise data sources using DataDirect Cloud, without opening ports or otherwise configuring the fire wall. The On-Premises Connector establishes a secure connection back to DataDirect Cloud when needed to provide access to the on-premise data.


On-Premises Connector
  • The On-Premises Connector has been enhanced to resolve a security vulnerability. We strongly recommend upgrading to the latest version to take advantage of this fix.
  • Upgraded to use Tomcat 8.0.41
  • Upgraded to use Java SE 8
SSL Enabled Drivers
  • The default value for Crypto Protocol Version has been updated to TLSv1.2,TLSv1.1,TLSv1 for data stores that support the option. This change improves the security of the connectivity service by employing only the most secure cryptographic protocols as the default behavior. At connection, the connectivity service will attempt to use the most secure protocol first, TLS 1.2, then fall back to use 1.1 and then 1.0.

New Data Stores

Oracle Marketing Cloud

Oracle has changed the branding of their Eloqua automated-marketing platform to Oracle Marketing Cloud. In conjunction with this rebranding of their service, DataDirect Cloud has added a new Oracle Marketing Cloud data store that provides improved features and functionality over the existing Eloqua data store. The Eloqua data store continues to exist to provide backwards compatibility to applications, but will be deprecated in a future release.

  • Enhancements with Oracle Marketing Cloud data store
    • Write Access
      • Support for INSERT/UPDATE/DELETE operations on CONTACT, ACCOUNT and CustomObjects_XXX
    • Bulk Calls
      • Performance improvement for bulk calls
      • Supports fetching more than 5 million records
      • Supports fetching up to 250 columns for bulk calls
      • Supports pushing OR operators for bulk calls (This does not apply to Activities)
    • REST Calls
      • Some queries with OR and AND operators have been optimized.
  • Changed Behavior with Oracle Marketing Cloud data store
    • Metadata Differences
      • The Oracle Marketing Cloud data store uses null as the catalog name, whereas the Eloqua data store used ECATALOG. Both data stores use the schema ELOQUA for all Oracle Marketing Cloud Objects.
      • The Oracle Marketing Cloud data store maps for the columns with integer data to type INTEGER based on the observation. The Eloqua data store mapped the integer type to string.
    • In contrast to the Eloqua data store, the Oracle Marketing Cloud data store cannot split OR queries and push them separately to Oracle Marketing Cloud APIs. Therefore, compared to the Eloqua data store, the Oracle Marketing Cloud data store may take longer to return results involving OR queries.
    • The Eloqua data store used the ActivityID field as the primary key for Activity_EmailXXX objects, such as Activity_EmailOpen, Activity_EmailClickthrough, and Activity_EmailSend. In contrast, the Oracle Marketing Cloud data store uses the ExternalID field as the primary key instead of ActivityID.


DataDirect Cloud ODBC Driver
  • Certified with CentOS Linux 4.x, 5.x, 6.x, and 7.x
  • Certified with Debian Linux 7.11, 8.5
  • Certified with Oracle Linux 4.x, 5.x, 6.x, and 7.x
  • Certified with Ubuntu Linux 14.04, 16.04
Refresh Map Enhancement
  • The new refresh map button has been added to the Mapping tab. This button allows you to refresh the map without connecting to the data store. This feature is useful when you are in the process of developing your application and you have made changes to the objects in your backend data store. Pressing this button forces the data store to rebuild the map allowing the new objects to show up in the relational map the next time your application connects to the data source. (The schema can also be refreshed with a Management API call or when establishing a connection.)
Apache Hive
  • Certified with Apache Hive 0.13, 0.14, 1.0, 1.1, 1.2
  • Certified with Amazon (AMI) 3.2‐3.3.1, 3.7
  • Certified with Cloudera (CDH) 5.0, 5.1, 5.2, 5.3, 5.4, 5.4, 5.6, 5.7
  • Certified with Hortonworks (HDP) 2.1, 2.2
  • Certified with IBM BigInsights 4.1
  • Certified with Pivotal HD (PHD) 2.1
  • Added SSL support for Apache Hive 0.13.0 and higher
  • Made generally available
  • Certified with Greenplum 4.3
  • Certified with Pivotal HAWQ 1.2, 2.0
  • Made generally available
  • Certified with Informix 12.10
  • Certified with Informix 11.7, 11.5, 11.0
  • Certified with Informix 10.0
  • Certified with Informix 9.4, 9.3, 9.2
  • Certified with PostgreSQL 9.3, 9.4, 9.5, 9.6
  • Certified with IBM DB2 V11.1 for LUW
  • Certified with DB2 for i 7.2
Progress OpenEdge
  • Certified with Progress OpenEdge 11.4, 11.5, 11.6
  • Certified with Salesforce API 38
SAP Sybase
  • Made generally available
  • Certified with SAP Adaptive Server Enterprise 16.0
SQL Server
  • Certified with Microsoft SQL Server 2016
  • Added support for NTLMv2 authentication. NTLMv2 authentication can be specified in the Authentication Method field under the Security tab.


Web UI
  • The SQL editor in the SQL Testing view has been upgraded. The functionality of the new editor is similar to that of the previous editor. However, the history panel is not currently supported with the new editor.
  • Support for Windows Server 2003 has been deprecated

Resolved Issues

Web UI
  • Resolved an issue where the SQL editor in the SQL Testing view returned errors when executing SQL commands against Google Analytics data sources.
  • Resolved an issue where OData requests were timing out before application could finish retrieving the results
DataDirect Cloud Management API
  • Resolved an issue where a 201 was returned when adding members to a group data source through the Management API
  • Resolved an issue where a normal user would receive a 400 instead of a 404 error when using the user query parameter to Management API calls
  • Resolved an issue where user creation API allowed invalid values for the status field 
Google Analytics
  • Resolved an issue where the SQL editor in the SQL Testing view returned errors when executing SQL commands against Google Analytics data sources.

Known Issues

Even with exhaustive testing, not all issues can be immediately resolved. The following issues have been noted:

On-Premises Connector
  • Uninstalling and re-installing the On-Premises Connector causes the Connector Id of the On-Premises Connector to change. Any DataDirect Cloud data sources using the old Connector Id must be updated to use the new Connector ID. Installing to a new directory allows both the old and new On-Premises Connector to exist side-by-side. However, you must update the Connector ID option in previously-defined DataDirect Cloud data sources to point to the new On-Premises Connector.

    In addition, you must update Connector Id wherever it was used, such as the definitions of Group Connectors and Authorized Users.
  • Changing the name used to register an On-Premises Connector using an older On-Premises Connector Configuration Tool may cause the Connector to fail to register itself with DataDirect Cloud and cause 504 Gateway timeout errors to be returned. Install the latest On-Premises Connector to resolve this issue.
  • $expand only supports one level deep. Take for example the following entity hierarchy:
    |- Orders
    |   |-- OrderItems
    |- Contacts

    The following queries are supported:

    However, this query is not supported:

    OrderItems is a second level entity with respect to Customers, To query Orders and OrderItems, the query must be rooted at Orders. For example:

  • DataDirect Cloud OData model asynch API incorrectly returns zero instead of the actual percent complete when querying the status of a model that is being generated.
  • When manually editing the ODataSchemaMap value, the table names and column names specified in the value are case-sensitive. The case of the table and column names must match the case of the tables and column names reported by the data source.

    Note: It is highly recommended that you use the OData Schema Editor to generate the value for the ODataSchemaMap data source option. The Schema Editor takes care of table and column name casing and other syntactic details.
  • The $expand clause is not supported with OpenEdge data sources.
  • The day scalar function is not working when specified in a $filter clause when querying a DB2 data source.

All Data Stores
  • It is recommended that Login Timeout not be disabled (set to 0) for a Data Source.
  • Using setByte to set parameter values fails when the data source does not support the TINYINT SQL type. Use setShort or setInt to set the parameter value instead of setByte.
  • "Numeric value out of range” error occurs when calling SQLStatistics with the DataDirect Cloud ODBC driver.

Google Analytics
  • Validation message is not showing when a user enters a Start Date value less than the End Date value in Create/Update Google Analytics page.
  • Once a Google Analytics OAuth profile is created for a specific Google account, changing the Google Account associated with the profile results in "the configuration options used to open the database do not match the options used to create the database" error being returned for any existing data sources.
  • HubSpot introduced a new limit on their API in July, limiting API calls to 10 per second. However, you can try the request again after waiting 1 second.

    We are investigating adding a connection option to automatically throttle API calls to deal with this HubSpot change. For more information, see the HubSpot forum post at

Microsoft Dynamics CRM
  • Executing certain queries against MS Dynamics CRM with the JDBC driver may result in a “Communication failure. Protocol error."
  • Testing has shown the following two errors from Microsoft Dynamics CRM Online when executing queries against the ImportData and TeamTemplate tables:
    • Attribute errortype on Entity ImportData is of type picklist but has Child Attributes Count 0
    • Attribute issystem on Entity TeamTemplate is of type bit but has Child Attributes Count 0

      Note: We have filed a case with Microsoft and are waiting to hear back about the cause of the issue.
  • The initial on-premise connection when the relational map is created can take some time. It is even possible to receive an error "504: Gateway Timeout". When this happens, DataDirect Cloud continues to build the map in the background such that subsequent connection attempts are successful and have full access to the relational map.
OpenEdge 10.2b
  • Setting the MaxPooledStatements data source option in an OpenEdge data store to a value other than zero can cause statement not prepared errors to be returned in some situations.
Oracle Marketing Cloud
  • Data store issues
    • There are known issues with Batch Operations.
    • The Update/Delete implementation can update only one record at a time. Because of this, the number of APIs executed depends on the number of records that get updated or deleted by the query plus the number of API calls required to fetch the IDs for those records.
    • Lengths of certain text fields are reported as higher than the actual lengths supported in Oracle Marketing Cloud.
  • We are currently working with Oracle to resolve the following issues with the Oracle Marketing Cloud REST API.
    • AND operators that involve different columns are optimized. In other cases, the queries are only partially optimized.
    • OR operators on the same column are optimized. In other cases, the queries are completely post-processed.
    • The data store is not able to insert or update the NULL value to any field explicitly.The data store is unable to update few fields. They are always reported as NULL after update.
    • Oracle Marketing Cloud uses a double colon (::) as an internal delimiter for multivalued Select fields. Hence when a value with the semi-colon character (;) is inserted or updated into a multivalued Select field, the semicolon character gets converted into the double colon character.
    • Query SELECT count (*) from template returns incorrect results.
    • Oracle Marketing Cloud APIs do not populate the correct values in CreatedBy and UpdatedBy fields. Instead of user names, they contain a Timestamp value.
    • Only equality filters on id fields are optimized. All other filter conditions are not working correctly with Oracle Marketing Cloud APIs and the data store is doing post-processing for such filters.
    • Filters on Non-ID Integer fields and Boolean fields are not working correctly. Hence the driver needs to post-process all these queries.
    • The data store does not distinguish between NULL and empty string. Therefore, null fields are often reported back as empty strings.
    • Values with special characters such as curly braces ({,}), back slash (\), colon (:), slash star (/*) and star slash (*/) are not supported in where clause filter value.

Oracle Service Cloud
  • When you create a custom object, your Oracle Service Cloud administrator must enable all four columns of the Object Fields tab of the Object Designer, or you cannot query against the custom objects.
  • The initial connection when the relational map is created can take some time. It is even possible to receive an error "504: Gateway Timeout". When this happens, DataDirect Cloud continues to build the map in the background such that subsequent connection attempts are successful and have full access to the relational map.
  • Data sources that are using the deprecated enableExportMode option will still see a problem until they are migrated to the new data source configuration.
  • Data sources that are using the deprecated enableExportMode option will still see a problem until they are migrated to the new data source configuration. Data source connections by default now use Export Mode to communicate with the Sugar CRM server, providing increased performance when querying large sets of data. Bulk export mode causes NULL values for currency columns to be returned as the value 0. Because of this, there is no way to differentiate between a NULL value and 0, when operating in export mode. This can be a problem when using currency columns in the SQL statements, because DataDirect Cloud must satisfy some filter conditions on queries, such as with operations like =, <>, >, >=, <, <=, IS NULL and IS NOT NULL. For example, suppose a currency column in a table in SugarCRM has 3 null values and 5 values that are 0. When a query is executed to return all NULL values (SELECT * FROM <table> WHERE <>currency column> IS NULL), then 3 rows are returned. However, if a query is executed to return all rows where the column performs an arithmetic operation (SELECT * FROM <table> WHERE <currency column> + 1 = 1), then all 8 records are returned because the 3 NULL values are seen as 0.
DataDirect Cloud JDBC Driver
  • Executing certain queries against MS Dynamics CRM may result in a "Communication failure. Protocol error."
  • Using JNDI data sources, encryptionMethod must be configured through setExtendedOptions.
  • See the d2cjdbcreadme.txt file installed with the JDBC driver for more information.
DataDirect Cloud ODBC Driver
  • When calling SQLStatistics in DB2 with the ODBC driver, the error "Numeric value out of range” occurs.
  • See the d2codbcreadme.txt file installed with the ODBC driver for more information.

Third Party Acknowledgments

Third party acknowledgments are listed on the following Web page.

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