README Progress(R) DataDirect(R) Progress DataDirect for ODBC for MySQL Wire Protocol Driver Windows Platforms (32- and 64-bit) Release 8.0.2 May 2022 *********************************************************************** Copyright (c) 2022 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved. *********************************************************************** This README file contains information for Progress(R) DataDirect(R) for ODBC for MySQL(TM) Wire Protocol Driver. This README file contains information not included in the PROGRESS DATADIRECT FOR ODBC FOR MYSQL WIRE PROTOCOL DRIVER USER'S GUIDE. CONTENTS Driver Requirements Installation Directory Changes Since 8.0.2 GA Release 8.0.2 Features Driver WorkAround Options Notes, Known Problems, and Restrictions Documentation Installed Files for the 32-bit Driver Installed Files for the 64-bit Driver Driver Requirements * IMPORTANT: You must have the Microsoft Data Access Components (MDAC) installed to use this product. - For 32-bit Windows systems, version 2.6 or higher is required. - For 64-bit Windows systems, version 2.8 or higher is required. Depending on the version of your Windows operating system, these components may already be installed. You can download a utility that determines whether MDAC is installed and its version from the following Microsoft site: http://msdn.microsoft.com/en-us/data/aa937730.aspx You can also download MDAC from the same site. Installation Directory * The default installation directory for the 32-bit driver on a 64-bit system is: C:\Program Files (x86)\Progress\DataDirect\ODBC * The default installation directory for all other installations is: C:\Program Files\Progress\DataDirect\ODBC Changes Since 8.0.2 GA Driver Enhancements ------------------- * The driver has been enhanced to support the Windows certificate store for TLS/SSL server authentication. Refer to the user's guide for details. * The driver has been enhanced to support TLS/SSL server authentication for the applications deployed in a serverless environment. The driver stores the TLS/SSL certificates in memory and lets applications use TLS/SSL server authentication without storing the truststore file on the disk. To use this enhancement, specify the content of the certificate in the refreshed Trust Store (Truststore) connection option or the new SQL_COPT_INMEMORY_TRUSTSTORECERT pre-connection attribute. Refer to the user's guide for details. * The default version of the OpenSSL library has been upgraded to version 1.1.1n, which fixes the following security vulnerabilities: - Infinite loop in BN_mod_sqrt() reachable when parsing certificates (CVE-2022-0778) - BN_mod_exp may produce incorrect results on MIPS (CVE-2021-4160) This upgrade is available in build 08.02.0216 of the following OpenSSL library files: ivtls28.dll (32-bit) and ddtls28.dll (64-bit). Version 1.1.1n also addresses vulnerabilities resolved by earlier versions of the library. For more information on OpenSSL vulnerabilities resolved by this upgrade, refer to the corresponding OpenSSL announcements at: https://www.openssl.org/news/vulnerabilities-1.1.1.html * The curl library files that are installed with the product have been upgraded to version 7.80.0, which fixes a number of potential security vulnerabilities. For more information on the vulnerabilities resolved by this enhancement, refer to: https://curl.haxx.se/docs/vulnerabilities.html. This upgrade is available starting in build 08.02.0278 of the curl library files. * The driver has been enhanced to support the JSON data type. * Note: OpenSSL library 1.1.1l has been replaced with version 1.1.1n. In addition to fixing multiple new vulnerabilities, version 1.1.1n also addresses the vulnerabilities resolved by version 1.1.1l. The default version of the OpenSSL library has been upgraded to version 1.1.1l, which fixes the following security vulnerabilities: - SM2 Decryption Buffer Overflow (CVE-2021-3711) - Read buffer overruns processing ASN.1 strings (CVE-2021-3712) This upgrade is available in build 08.02.0181 of the following OpenSSL library files: ivtls28.dll (32-bit) and ddtls28.dll (64-bit). Release 8.0.2 Features Driver Enhancements ------------------- * The driver has been enhanced to support connecting to a proxy server through an HTTP connection. HTTP proxy support is configurable with five new connection options: Proxy Mode (ProxyMode), Proxy Host (ProxyHost), Proxy Port (ProxyPort), Proxy Password (ProxyPassword), and Proxy User (ProxyUser). Refer to the user's guide for details. * A Power BI connector is now included with the product package.You can use this connector to access your MySQL data with Power BI. Refer to the user's guide for details. * The Batch Mechanism (BatchMechanism) connection option has been added to the driver. When BatchMechanism is set to 2 (MultiRowInsert), the driver executes a single insert for all the rows contained in a parameter array. MultiRowInsert is the default setting and provides substantial performance gains when performing batch inserts. Refer to the user's guide for details. * The driver has been enhanced to support the sha256_password and caching_sha2_password authentication plugins. Driver WorkAround Options Progress DataDirect has included non-standard connection options (workarounds) for the driver that enable you to take full advantage of packaged ODBC-enabled applications requiring non-standard or extended behavior. Refer to the chapter "WorkAround options" in THE PROGRESS DATADIRECT FOR ODBC DRIVERS REFERENCE for a description of these options. Notes, Known Issues, and Restrictions Character Limit of the Trust Store Field (Driver setup dialog) --------------------------------------------------------------- The Trust Store field on the Driver setup dialog supports content up to 8192 characters in length. For specifying certificate content longer than 8192 characters, edit the registry and manually add the entry to the DSN. Multi-row Insert Limitation --------------------------- When attempting to execute multi-row insert, if the server encounters an error with any of the rows, it rejects the whole batch. As a result, none of the rows is inserted. Specifying values for the same connection option multiple times --------------------------------------------------------------- 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. 126 Error When Modifying Data Sources on Windows 10 --------------------------------------------------- You may receive a 126 error when adding or configuring a data source stored on a network location. This is 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. For SSL Users ------------- When trying to connect to a database using SSL encryption, you may receive an error message similar to: "PRNG not seeded". This is because certain versions of some operating systems do not generate truly random numbers necessary for encryption. For more information about this error and available patches, please refer to the Web site: http://www.openssl.org/support/faq.html#USER1 ODBC Development on Windows Platforms -------------------------------------- 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. SQLColAttribute(s) ------------------ 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. SQL_C_NUMERIC ------------- 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. For Developers Using IIS ------------------------ One of the most common connectivity issues encountered while using IIS (Microsoft's Internet Information Server) concerns the use and settings of the account permissions. If you encounter problems using DataDirect drivers with an IIS server, refer to KnowledgeBase document number 4274 on the Progress DataDirect web site: http://knowledgebase.datadirect.com. For Microsoft Access Users -------------------------- Some SQL implementations, such as PROGRESS, do not allow queries to contain the COUNT function without the DISTINCT set quantifier. For example, "SELECT COUNT(empid) FROM employees" is not a valid SQL query for PROGRESS. This type of query can be generated using Microsoft Access and results in an error. Documentation PROGRESS DATADIRECT FOR ODBC FOR MYSQL WIRE PROTOCOL DRIVER DOCUMENTATION SET ----------------------------------------------------------------------------- The user's guide is available as an HTML help system on the DataDirect documentation web page: https://docs.progress.com/category/datadirect-mysql You can also launch the help system by clicking Help (? button) in the Setup dialog box. Installed Files the 32-bit Driver This file list assumes a full installation of the driver and documentation. The installer copies the following file to the Windows system directory: ivtrc28.dll DataDirect trace library The installer copies the following files and subdirectories to the product installation directory, by default: For the 32-bit driver on 64-bit machines: C:\Program Files (x86)\Progress\DataDirect\ODBC For all other installations: C:\Program Files\Progress\DataDirect\ODBC \\: ---------------- license.txt Progress DataDirect license agreement \drivers\: --------- ivcurl28.dll Library used for HTTP connection ivicu28.dll Unicode conversion tables ivmysql28.dll MySQL Wire Protocol Driver ivmysql28r.dll MySQL Wire Protocol Driver resource file IVODBC.LIC DataDirect license file ivssl28.dll TLS/SSL support file (OpenSSL library file, version 1.0.2u) ivtls28.dll TLS/SSL support file (OpenSSL library file, version 1.1.1n) ivtrc28.dll DataDirect trace library qesqlext.h Header file for DataDirect-specific ODBC Definitions \drivers\OpenSSL\1.0.2d\: ------------------------ ivssl28.dll TLS/SSL support file (OpenSSL library file, version 1.0.2d) \drivers\OpenSSL\latest\: ------------------------ ivssl28.dll TLS/SSL support file (OpenSSL library file, version 1.0.2u) \FIXES\: -------- fixes8.0.txt List of fixes since last release \help\: ------ *.html HTML redirects to online connector help systems and documentation resources \install\: --------- *.* Files associated with the installer program \jre\: ----- *.* Files associated with the MySQL WP driver \NOTICES\: --------- ODBC for MySQL v8.0 notices.txt Third-party vendor license agreements \READMES\: --------- ODBC FOR MySQL v8.0 readme.txt This file \samples\bulk\: -------------- bulk.c Bulk example source bulk.exe Bulk application bulk.mak Bulk example make file bulk.sln Bulk example solution file bulk.vcproj Bulk example project file ddlogging.properties Log configuration file for the MySQL driver \samples\bulkstrm\: ------------------ bulk.cpp Bulk streaming example source bulk.hpp Bulk streaming example header bulk.rc Bulk streaming example resource file bulkstreaming.sln Bulk streaming example solution file bulkstreaming.vcproj Bulk streaming example project file bulkstrm.exe Bulk streaming example application bulkstrm.txt Bulk streaming description msgprintf.hpp Bulk streaming example header file ProgressDataDirect.bmp ProgressDataDirect.ico winmain.cpp Bulk streaming example source file ddlogging.properties Log configuration file for the MySQL driver \samples\example\: ----------------- example.c Example source Example.exe Example application example.h Example header Example.mak Example make file Example.sln Example solution file Example.vcproj Example project file ddlogging.properties Log configuration file for the MySQL driver \samples\translat: ----------------- LIBMAIN.C README.TRN Translation Library example description TRANSLAT.C Translation Library example source file WINNT.MAK Translation Library example make file \TOOLS\: ------- ddextwin.exe License Extender utility ddprocinfo.exe Processor Information utility DSNConverterSIL.exe Data Source Converter utility XMLP.exe A GUI demo tool that persists a result set to an XML data file \TOOLS\Power BI: ---------------- DataDirectMySQL.pqx MySQL Power BI connector file install.bat Batch file to install Power BI connectors \TOOLS\Tableau: ---------------- DataDirect MySQL.tdc Tableau data source file \UNINSTALL\: ----------- *.* Files used to uninstall the product Installed Files for the 64-bit Driver This file list assumes a full installation of the driver and its documentation. The installer copies the following file to the Windows system directory: ddtrc28.dll DataDirect trace library The installer copies the following files and subdirectories to the product installation directory, by default: C:\Program Files\Progress\DataDirect\ODBC: \\: ---------------- license.txt Progress DataDirect license agreement \drivers\: --------- ddcurl28.dll Library used for HTTP connection ddicu28.dll Unicode conversion tables ddmysql28.dll MySQL Wire Protocol Driver ddmysql28r.dll MySQL Wire Protocol Driver resource file DDODBC.LIC DataDirect license file ddssl28.dll TLS/SSL support file (OpenSSL library file, version 1.0.2u) ddtls28.dll TLS/SSL support file (OpenSSL library file, version 1.1.1n) ddtrc28.dll DataDirect trace library qesqlext.h Header file for DataDirect-specific ODBC Definitions \drivers\OpenSSL\1.0.2d\: ------------------------- ddssl28.dll TLS\SSL support file (OpenSSL library file, version 1.0.2d) \drivers\OpenSSL\latest\: ------------------------ ddssl28.dll TLS\SSL support file (OpenSSL library file, version 1.0.2u) \FIXES\: -------- fixes8.0.txt List of fixes since last release \help: ------ *.html HTML redirects to online connector help systems and documentation resources \install\: --------- *.* Files associated with the installer program \jre: ----- *.* Files associated with the MySQL WP driver \NOTICES: --------- ODBC for MySQL v8.0 notices.txt Third-party vendor license agreements \READMES: --------- ODBC for MySQL v8.0 readme.txt This file \samples\bulk\: --------------- bulk.c Bulk example source bulk.exe Bulk application bulk.mak Bulk example make file bulk.sln Bulk example solution file bulk.vcproj Bulk example project file ddlogging.properties Log configuration file for the MySQL driver \samples\bulkstrm\: ------------------- bulk.cpp Bulk streaming example source bulk.hpp Bulk streaming example header bulk.rc Bulk streaming example resource file bulkstreaming.sln Bulk streaming example solution file bulkstreaming.vcproj Bulk streaming example project file bulkstrm.exe Bulk streaming example application bulkstrm.txt Bulk streaming description msgprintf.hpp Bulk streaming example header file ProgressDataDirect.bmp ProgressDataDirect.ico winmain.cpp Bulk streaming example source file ddlogging.properties Log configuration file for the MySQL driver \samples\example\: ------------------ example.c Example source Example.exe Example application example.h Example header Example.mak Example make file Example.sln Example solution file Example.vcproj Example project file ddlogging.properties Log configuration file for the MySQL driver \samples\translat: ----------------- LIBMAIN.C README.TRN Translation Library example description TRANSLAT.C Translation Library example source file WINNT.MAK Translation Library example make file \TOOLS: ------- ddextwin.exe License Extender utility ddprocinfo.exe Processor Information utility DSNConverterSIL.exe Data Source Converter utility XMLP.exe A GUI demo tool that persists a result set to an XML data file \TOOLS\Power BI: ---------------- DataDirectMySQL.pqx MySQL Power BI connector file install.bat Batch file to install Power BI connectors \TOOLS\Tableau: ---------------- DataDirect MySQL.tdc Tableau data source file \UNINSTALL\: ------------ *.* Files used to uninstall the product ~~~~~~~~~~~~~~~~~ May 2022 End of README