Release-February 21, 2015

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-Premise 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-Premise Connector establishes a secure connection back to DataDirect Cloud when needed to provide access to the on-premise data stores.

DataDirect Cloud– February 21, 2015


Performance Improvements
  • Removed the maximum number of requests on an HTTP keep alive connection to DataDirect Cloud and the On-Premise Connector. There is still an idle timeout of 20 seconds on HTTP keep alive connections.
  • Improved performance of OData queries that include a $top=1 query option.
  • The Enable Approximate Count Optimization custom property has been added to enable count optimization. By default, the connectivity service needs to retrieve all records from the Marketo service to provide the exact count. The time to process the request is proportional to the total number of records. When this custom property is enabled, the connectivity service relies on the remaining count approximation provided by the Marketo service. This allows the connectivity service to return a count much more rapidly by making some assumptions about the data, although the count is not as accurate as actually performing the query . When the check box is selected (set to True), COUNT(*) queries are optimized to give the approximate count.
  • The Oldest Updated At and Latest Updated At custom properties have been added to facilitate executing queries against the LeadRecord, ActivityRecord and Activity child tables. These fields are used to determine the range of records that are returned. Records are returned where the timestamp when they were last modified is between the values specified for Oldest Updated At and Latest Updated At fields.
  • The Web Service Timeout custom property has been added to allow the application to configure how long the connectivity service allows a call to the Marketo web service to run before timing out. Valid values are 0 (no timeout) or a positive integer indicating the number of milliseconds to specify for the time out. The default value is 600000.

Resolved Issues

  • Updated DNS records for and to address issues where some DNS caches were seeing a very long time to live.
OData Refresh Result Connection Option
  • The OData API did not recognize the value set for the OData Refresh Result option and always returned the cached first page.
  • An OData session would become unusable if an error occurred when executing a query with a $inlinecount query option.

Known Issues

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

Creating Data Sources Without Saving the Credentials
  • There is an issue when Data Sources that require a user Id and password are created or updated and the user chooses not to store the back end database user id and password in the data source. If the data source was created or updated through the web interface, then trying to text connect to that data source using the Management API will not work. If the data source was created or updated through the Management API, then it cannot be accessed in the SQL Editor in the web interface. The data source can be accessed via the DataDirect Cloud ODBC driver, DataDirect Cloud JDBC driver, and the DataDirect Cloud OData API, regardless of whether the data source was created in the web interface or with the Management API.
On-Premise Connector
  • Uninstalling and re-installing the On-Premise Connector causes the Connector Id of the On-Premise 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-Premise 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-Premise Connector.

    In addition, you must update Connector Id wherever it was used, such as the definitions of Group Connectors and Authorized Users.

  • Update Installation Option

    We are investigating some reports of problems using the Update installation option of the On-Premise Connector Installer. At this time, it is recommended that you uninstall your existing On-Premise Connector and install a new Connector.

    IMPORTANT: Uninstalling the Connector and installing a new Connector causes a new Connector Id to be generated for the connector. If you only have one or two data sources or Group Connectors, it is probably easiest to update them with the new Connector Id. However, if you have used the Connector Id in a number of data sources and in the definitions of Group Connectors and Authorized Users, and you don't want to update them all, you can manually set the Connector to use the old Connector Id.

    To manually reset the Connector Id, perform the following steps:
    1. Before uninstalling the existing Connector, locate the file named at the root of the connector installation directory. Open the file, then copy and save the value of the DeviceId property. The property has the following format:


    2. Uninstall the existing On-Premise Connector. Use the Uninstall item from the Start Menu or go to the uninstall directory and launch the uninstall_DataDirect_Cloud_On-Premise_Connector_*.exe uninstaller.

    3. Install the new On-Premise Connector.

    4. Locate the file located at the root of the connector installation directory and set the value of the DeviceId property to the value saved in Step 1.

    IMPORTANT: Do not use the same Connector Id for two different Connectors. Neither Connector will work correctly.

    5. Restart the On-Premise Connector services. Select the Stop Services option, and then the Start Services option from On-Premise Connector program group on the Start Menu.

  • Changing the name used to register an On-Premise Connector using an older On-Premise Connector Configuration Tool may cause the Connector to fail to register itself with D2C and cause 504 Gateway timeout errors to be returned. Installing the latest On-Premise Connector may resolve this issue.
  • 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.
  • 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.
Google Analytics
  • 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.
  • In this release, creating a Google Analytics OAuth profile with the Data Source Management API is not supported.
  • $expand only supports one level deep.

    For example, with the 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:

  • For the Refresh Result connection option, the online help and the help tip on the data source configuration screens reversed the descriptions of the connection option values. A value of 1 causes the query to be re-executed when the first page of a query is requested. A value of 0 causes the cached page to be re-used.
  • The table names and column names specified in the ODataSchemaMap data source option 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.
  • When using the substring function on properties that map to a CHAR column in the data source, it is data source dependent as to whether the substring function treats the trailing spaces as significant. When going against Oracle, the trailing spaces are preserved. When going against other data sources, the trailing spaces are discarded.
  • 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.
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.
Microsoft Dynamics CRM
  • 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.
DataDirect Cloud ODBC and JDBC Drivers
  • See the files d2cjdbcreadme.txt and d2codbcreadme.txt for the latest notes when accessing DataDirect Cloud through the DataDirect Cloud ODBC and JDBC drivers. These files are located in the installation directory for the ODBC and JDBC drivers.

Third Party Acknowledgments

Third party acknowledgments are listed on the following Web page.


Read Next

What's new