Progress DataDirect for ODBC for Microsoft Dynamics 365

    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 8.0.0

     

    Enhancements
    • The driver is now compiled with a Visual Studio 2022 compiler for the Windows platforms. As a result, you must have Microsoft Visual C/C++ runtime version 14.40.33810 or higher on your machine to run the driver.
    • 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 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.*
    • The driver has been enhanced to support fetching data from all the companies to which the user has access. Earlier, the driver supported fetching data only from the default company of the user. You can configure this functionality using the new Cross Company (CrossCompany) connection option. Refer to Cross Company for more information.*
      • Available: Driver version 8.0.0.1485 (B1227, U1070)-J2178
    • 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.*
    • The driver has been enhanced to allow you to configure whether requests to web services timeout when the service is unresponsive. You can configure this functionality using the new Web Service Timeout (WSTimeout) connection option. Refer to Web Service Timeout for more information.*
    • A Password Encryption Tool, called ddencpwd, is now included with the product package. It encrypts passwords for secure handling in connection strings and odbc.ini files. At connection, the driver decrypts these passwords and passes them to the data source as required. See Password Encryption Tool (UNIX/Linux only) for details.
    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.

      Notes:

      • This change does not affect the JVM requirements for the driver. For the latest driver requirements, refer to the Product Compatibility Guide.
      • The installer program cannot remove the already installed JRE files from the install directory automatically. Remove them manually.
      • To install the 32-bit drivers on 64-bit Windows platforms and start the SQL engine service, the installer requires the 32-bit version of Java SE 11 or higher installed on your machine and defined on your path.
    • 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 Microsoft Dynamics 365 driver:*
      • 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.

    • The following connection options have been removed from the driver: Connection Retry Count (ConnectionRetryCount), Connection Retry Delay (ConnectionRetryDelay), LoginTimeout (LoginTimeout), and Query Timeout (QueryTimeout).*
    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.
    • An initial connection may take a few minutes, depending on network speeds and the amount of metadata the driver must retrieve from the service. Similar delays may occur in the following scenarios.
      • When the Create Map (CreateMap) connection option is set to 4 (OnChange) (default) and changes have been made to the schema on the Dynamics 365 backend
      • When starting a new session with Create Map set to Session
      • When Create Map is set to 0 (NotExist) and the internal schema files specified by SchemaMap do not exist
      • When Create Map is set to 1 (ForceNew)
    • When using third-party tools such as Tableau, network speeds and the amount of metadata retrieved from the service can cause timeout and out-of-memory errors. You can work around these issues in the following ways.
      1. Increase timeout settings in your third-party tool. For example, Tableau offers the following guidance for timeout errors caused by large results: https://kb.tableau.com/articles/issue/error-extract-timeout. You may also need to increase the Java heap size allotted for your third-party tool. This allows the tool to manage large metadata results sent by the service. This workaround not only avoids timeout and out-of-memory errors on initial connection, but may also avoid these errors on subsequent connections.
      2. Establish your initial connection using the DataDirect ODBC Driver Configuration Manager as described in "Testing connections and queries" in the user's guide. In addition to specifying required properties, set the Schema Map (SchemaMap) connection option. Schema Map specifies the location and name of the configuration file where the map of the Dynamics 365 schema is written. Once connected, you can use the connection string generated by the Configuration Manager to connect via your third-party tool. However, it should be noted that timeout and out-of-memory errors may occur on subsequent connections, depending on the Create Map (CreateMap) setting. See the user's guide for more information.
    • When specifying a value for the Extended Options (ExtendedOptions) option in the Configuration Manger, the driver currently adds the option and its value to the Connection String field. However, the ExtendedOptions attribute is not supported in Connection Strings; therefore, attempting to connect with the generated connection string or executing a test connect with the configuration manager will result in the an "Invalid attribute in the connection string: XO" error.
      To work around this issue, manually edit the connection string to remove "ExtendedOptions=" from the connection string; then, specify the value of ExtendOptions as semi-colon separated options in the string.
      For example:
      Driver=<driver_name>;HostName=<host_name>;ExtendedOptions=WorkArounds2=4096,WorkArounds2=8192; Becomes:
      Driver=<driver_name>;HostName=<host_name>;WorkArounds2=4096;WorkArounds2=8192;
    • 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 Fetch Size (FetchSize) to reduce demands on memory. By lowering the maximum number of rows as specified by Fetch Size, 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 Result Memory Size (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, Result Memory Size 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.
    • 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:
      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.

      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
    • All of the Release 8.0 Core Components (header files, etc.) needed for development of ODBC applications on 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 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.
    Features
    • The driver supports SQL read-write access to the following Microsoft Dynamics 365 apps:
      • CRM apps
        • Customer Service
        • Field Service
        • Marketing
        • Project Service Automation
        • Sales
      • ERP apps
        • Finance
        • Retail
        • Supply Chain Management
        • Talent
      Refer to Supported SQL statements and extensions for more information.
    • The driver supports all ODBC Core and Level 1 functions and some Level 1 and Level 2 features. Refer to ODBC API and scalar functions in the Progress DataDirect for ODBC Drivers Reference for additional information. 
    • The driver supports OAuth 2.0 authentication. Refer to OAuth 2.0 authentication for supported grant types and further details.
    • The driver supports NTLM authentication. Refer to NTLM authentication for details.
    • The driver supports the handling of large result sets with paging and the Fetch Size (FetchSize) connection option. Refer to Fetch Size for details.
    • The driver supports optimizing insert, update, and delete operations with the Batch Update Chunk Size (BatchUpdateChunkSize) connection option. Refer to Batch Update Chunk Size for details.
    • On Windows platforms, the driver 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 URLs
      • Test connect data sources and connection URLs
      • Execute SQL commands for testing;
      • Fetch OAuth tokens
      • Access connection property descriptions and the full product documentation
      Refer to Configuring data sources with the Configuration Manager and Generating connection strings with the Configuration Manager for details.

     

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