README
     Progress(R) DataDirect(R)
     Progress DataDirect for ODBC for SQL Server Wire Protocol Driver 

     Windows Platforms (32- and 64-bit)
     8.0.2 Release   
     April 3, 2019

***********************************************************************
Copyright (c) 2019 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved.  
***********************************************************************

This README file contains information for Progress(R) DataDirect(R)  
for ODBC SQL Server(TM) Wire Protocol Driver. 

This README file contains information not included in the PROGRESS 
DATADIRECT FOR ODBC APACHE SQL Server USER'S GUIDE AND REFERENCE.



CONTENTS

Driver Requirements
Installation Directory 
Changes Since 8.0.2 GA   
Changes for 8.0.2 GA   
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_80

* The default installation directory for all other installations is:

  C:\Program Files\Progress\DataDirect\ODBC_80
  
  
    Changes Since 8.0.2 GA   

SSL Enhancement (1.0.2r)
------------------------
The default OpenSSL library version has been updated to 1.0.2r, which fixes the
following security vulnerabilities:
 * 0-byte record padding oracle (CVE-2019-1559)
 * Microarchitecture timing vulnerability in ECC scalar 
   multiplication (CVE-2018-5407)
 * Timing vulnerability in DSA signature generation (CVE-2018-0734)
 * Client DoS due to large DH parameter (CVE-2018-0732)
 * Cache timing vulnerability in RSA Key Generation (CVE-2018-0737)
 * Constructed ASN.1 types with a recursive definition could exceed the 
   stack (CVE-2018-0739)

This upgrade is available starting in build 08.02.0194 of the OpenSSL library 
file.  
 
Version 1.0.2r 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.0.2.html. 
	

    Changes for the 8.0.2 GA 
  
Platform Certifications 
-----------------------	
* Certified with Windows Server 2016 

Data Source Certifications
--------------------------
* Certified with Microsoft Azure SQL Data Warehouse 12.00
* Certified with Microsoft Analytics Platform System 10.00
* Certified with Microsoft SQL Server 2017 
* Certified with Microsoft SQL Server 2016 

Support for Microsoft Azure SQL Data Warehouse and 
Microsoft Analytics Platform System
--------------------------------------------------
The driver has been enhanced to transparently connect to Microsoft Azure SQL 
Data Warehouse and Microsoft Analytics Platform System data sources. For more 
information about supported features and functionality, refer to "Support for 
Azure Data Warehouse and Analytics Platform System" in the user's guide.

HTTP Proxy Support
------------------
Support for connecting to a proxy server through an HTTP connection. HTTP 
proxy support is configurable with five new connection options: Proxy Host, 
Proxy Mode, Proxy Password, Proxy Port, and Proxy User.

Enable Server Side Cursors Connection Option 
--------------------------------------------
The new EnableServerSideCursors connection option allows you to determine 
which server-side cursors are enabled for the data source. 

Azure AD Authentication
-----------------------  
The driver is enhanced to support Azure Active Directory authentication 
(Azure AD). Azure AD authentication is an alternative to SQL Server 
Authentication for Azure SQL Database that allows you to centrally manage
identities of database users. To enable Azure AD authentication, specify the
new 13 (Active Directory Password) value for the Authentication Method 
connection option (AuthenticationMethod=13). In addition, specify the 
respective values in the connection string or data source definition for the
Host Name In Certificate, Trust Store, Validate Server Certificate, User Name
and Password connection options. Refer to "Configuring Azure Active Directory 
Authentication" in the user's guide for more information.

Always On Availability Groups
-----------------------------
The driver has been enhanced to support Always On Availability Groups. 
Introduced in SQL Server 2012, Always On Availability Groups is a 
replica-database environment that provides a high-level of data availability,
protection, and recovery. To support this enhancement, the following updates
have been made to the driver:

 - The new Multi-Subnet Failover option allows the driver to attempt parallel
   connections to all the IP addresses associated with an availability group 
   listener when the primary listener is unavailable. This offers improved 
   response time over traditional failover, which attempts connections to 
   alternate servers one at a time. This option must be enabled for failover to
   work properly in an Always On environment. 

 - The Host Name option has been updated to support the virtual network 
   name (VNN) of the availability group listener as a valid value. To connect
   to an Always On Availability group, you must specify the VNN with this 
   option.
 
 - The new Application Intent option allows you to control whether the driver
   requests read-only routing, thereby improving efficiency by reducing the 
   workload on read-write nodes. 	
   
Default Value for Crypto Protocol Version
-----------------------------------------
The default value for Crypto Protocol Version has been updated to TLSv1.2,
TLSv1.1,TLSv1. This change improves the security of the driver by employing 
only the most secure cryptographic protocols as the default behavior.

SSL Enhancement (1.0.2n) 
------------------------
Note: OpenSSL library 1.0.2n has been replaced with version 1.0.2r. In addition
to fixing multiple new vulnerabilities, version 1.0.2r also addresses the 
vulnerabilities resolved by version 1.0.2n. 

Version 1.0.2n of the OpenSSL library fixes the following security 
vulnerabilities:
 * rsaz_1024_mul_avx2 overflow bug on x86_64(CVE-2017-3738)
 * Read/write after SSL object in error state (CVE-2017-3737)
 * bn_sqrx8x_internal carry bug on x86_64 (CVE-2017-3736)
 * Malformed X.509 IPAddressFamily could cause OOB read (CVE-2017-3735)
	
	
For more information about these features, refer to THE PROGRESS DATADIRECT FOR
ODBC FOR SQL Server WIRE PROTOCOL DRIVER USER'S GUIDE AND REFERENCE. 	


     Driver WorkAround Options

Progress DataDirect has included non-standard connection options 
(workarounds) for the drivers 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 User's Guide and Reference
for a description of these options.


     Notes, Known Problems, and Restrictions

The following are notes, known problems, or restrictions with 
Release 8.0.2 of the DataDirect Connect Series for ODBC drivers.

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

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.

Binding Timestamp Parameters 
----------------------------
The SQL Server Wire Protocol driver requires an application to specify
the size of timestamp parameters when they are bound. Setting the option
WorkArounds2 to WorkArounds2=2 enables this behavior.

In addition, the driver does not allow an application to change the size
of parameter bindings between execute calls. Setting the option
WorkArounds to WorkArounds=536870912 enables this behavior.

Refer to the chapter "WorkAround Options" in the user's guide and reference
for a description of these options.

Microsoft SQL Server Limitations
--------------------------------
Attempting to execute DDL statements that contain errors causes 
an implicit rollback of the current transaction if executing in 
manual commit mode. No warning occurs when this happens. This is a 
Microsoft SQL Server limitation, and no driver workaround is available.

NOTE: Because the SQL Server Wire Protocol drivers do not have a way to 
prepare statements, the driver does not send those statements to the 
server until SQLExecute is called. PREPARE does not return any of the 
normal errors that most of the drivers return. If, however, the user 
requests information about result columns, the driver executes a Select 
statement and returns warnings or errors when using SQLNumResultCols, 
SQLDescribeCol, or SQLColAttributes.

Catalog Functions 
-----------------
If you have problems with the catalog functions returning incorrect
data, you may need to upgrade your catalog stored procedures. Make
sure that you have installed the latest version of the stored
procedures, which are available from your database vendor. Refer to
your Microsoft SQL Server documentation for more information.
The SQL Server Wire Protocol drivers return stored procedure names with
the version number appended to them. For example, a procedure defined
as "proc1" will be returned as "proc1;1".

For Microsoft Access Users
--------------------------
Some SQL implementations, do not allow queries to contain the COUNT function 
without the DISTINCT set quantifier. For example, 
"SELECT COUNT(empid) FROM employees" would be considered an invalid SQL query 
by the database engine. This type of query can be generated using Microsoft
Access and results in an error.


    Documentation	 	 

THE PROGRESS DATADIRECT FOR ODBC FOR SQL SERVER WIRE PROTOCOL DRIVER
USER'S GUIDE AND REFERENCE
----------------------------------------------------------------------
This guide is provided in PDF and HTML versions. Both versions are installed
in the SQLServerHelp subdirectory of your product installation directory. You 
can access the help by opening the index.html file or by clicking the Help 
button on the driver setup dialog.

The complete documentation library is available on the Progress DataDirect 
Web site at https://www.progress.com/documentation/datadirect-connectors.


    Uninstalling the Driver 

You can uninstall the product or individual drivers through the Uninstall 
DataDirect for ODBC 8.0 option in the DataDirect program group.


     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_80

For all other installations:

  C:\Program Files\Progress\DataDirect\ODBC_80
  
fixes.txt                         List of fixes since last release
license.txt                       Progress DataDirect license agreement
 
\drivers:
ivcurl28.dll                      Library used for HTTP connection
ivicu28.dll	                  Unicode conversion tables
ivsqls28.dll	                  SQL Server Wire Protocol Driver
ivsqls28r.dll                     SQL Server Wire Protocol Driver
		                  resource file		
IVODBC.LIC	                  DataDirect license file
ivssl28.dll                       SSL support file (1.0.2r)
ivtrc28.dll                       DataDirect trace library		
qesqlext.h	                  Header file for DataDirect-specific ODBC 
                                  Definitions				

\OpenSSL:
\latest\ivssl28.dll               SSL support file 
                                  (OpenSSL library file, version 1.0.2r)
\1.0.2d\ivssl28.dll               SSL support file 
                                  (OpenSSL library file, version 1.0.2d)
							   
\help\SQLServerHelp: 
index.html                        HTML help system entry file
\*.*                              Support folders for the HTML help system

\jre
*.*		                  Files associated with the SQL Server WP driver

\NOTICES:
ODBC for SQL Server
8.0 NOTICES.TXT	                  Third-party vendor license agreements

\READMES:
ODBC FOR SQL Server  
8.0 README.TXT	                  This file

\samples:
\bulk\bulk.c        		  Bulk example source
\bulk\bulk.exe      		  Bulk application
\bulk\bulk.mak      		  Bulk example make file
\bulk\bulk.sln      		  Bulk example solution file
\bulk\bulk.vcproj   		  Bulk example project file
                       
\bulkstrm\bulk.cpp                Bulk streaming example source
\bulkstrm\bulk.hpp                Bulk streaming example header
\bulkstrm\bulk.rc                 Bulk streaming example resource file
\bulkstrm\bulkstreaming.sln       Bulk streaming example solution file
\bulkstrm\bulkstreaming.vcproj    Bulk streaming example project file
\bulkstrm\bulkstrm.exe            Bulk streaming example application
\bulkstrm\bulkstrm.txt   	  Bulk streaming description
\bulkstrm\msgprintf.hpp           Bulk streaming example header file
\bulkstrm\ProgressDataDirect.bmp
\bulkstrm\ProgressDataDirect.ico
\bulkstrm\winmain.cpp             Bulk streaming example source file

\example\example.c         	  Example source
\example\Example.exe       	  Example application
\example\example.h         	  Example header
\example\Example.mak       	  Example make file
\example\Example.sln       	  Example solution file
\example\Example.vcproj    	  Example project file
\example\example.txt       	  Example description

\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
								
\UNINSTALL\*.*			  Files used to uninstall the product


    Installed Files for the 64-bit Driver

This file list assumes a full installation of all drivers and 
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_80\:	
		
fixes.txt                         List of fixes since last release
license.txt                       Progress DataDirect license agreement
 
\drivers:
ddcurl28.dll                      Library used for HTTP connection
ddicu28.dll	                  Unicode conversion tables
ddsqls28.dll	                  SQL Server Wire Protocol Driver
ddsqls28r.dll                     SQL Server Wire Protocol Driver 
		                  resource file		
DDODBC.LIC	                  DataDirect license file
ddssl28.dll                       SSL support file (1.0.2r)
ddtrc28.dll                       DataDirect trace library
qesqlext.h	                  Header file for DataDirect-specific ODBC 
                                  Definitions

\OpenSSL:
\latest\ddssl28.dll               SSL support file 
                                  (OpenSSL library file, version 1.0.2r)
\1.0.2d\ddssl28.dll               SSL support file 
                                  (OpenSSL library file, version 1.0.2d)
								  
\help\SQLServerHelp: 
index.html                        HTML help system entry file
\*.*                              Support folders for the HTML help system

\jre
*.*		                  Files associated with the SQL Server WP driver

\NOTICES:
ODBC for SQL Server
8.0 NOTICES.TXT	                  Third-party vendor license agreements

\READMES:
ODBC for SQL Server 
8.0 README.TXT	                  This file

\samples:
\bulk\bulk.c        		  Bulk example source
\bulk\bulk.exe      		  Bulk application
\bulk\bulk.mak      		  Bulk example make file
\bulk\bulk.sln      		  Bulk example solution file
\bulk\bulk.vcproj   		  Bulk example project file
                       
\bulkstrm\bulk.cpp                Bulk streaming example source
\bulkstrm\bulk.hpp                Bulk streaming example header
\bulkstrm\bulk.rc                 Bulk streaming example resource file
\bulkstrm\bulkstreaming.sln       Bulk streaming example solution file
\bulkstrm\bulkstreaming.vcproj    Bulk streaming example project file
\bulkstrm\bulkstrm.exe            Bulk streaming example application
\bulkstrm\bulkstrm.txt   	  Bulk streaming description

\bulkstrm\msgprintf.hpp           Bulk streaming example header file
\bulkstrm\ProgressDataDirect.bmp
\bulkstrm\ProgressDataDirect.ico
\bulkstrm\winmain.cpp             Bulk streaming example source file

\example\example.c         	  Example source
\example\Example.exe       	  Example application
\example\example.h         	  Example header
\example\Example.mak       	  Example make file
\example\Example.sln       	  Example solution file
\example\Example.vcproj    	  Example project file
\example\example.txt       	  Example description

\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
								
\UNINSTALL\*.*			  Files used to uninstall the product		



~~~~~~~~~~~~~~
April 3, 2019

End of README