ODBC Driver 17.6 for SQL Server Released
Published Jul 31 2020 03:50 PM 12.1K Views
Steel Contributor

Version 17.6 of the Microsoft ODBC Driver 17 for SQL Server has been released. Version 17.6.1 brings numerous new features and fixes to the driver.

 

Features

  • Support Managed Identity authentication against Azure Key Vault when using Always Encrypted
  • Support ADFS with Azure Active Directory authentication on Linux and macOS
  • Support Azure Active Directory Integrated authentication on Linux and macOS
  • Added metadata caching for prepared statements to improve performance
  • Send Server Name Indication during the TLS handshake
  • New SQL_COPT_SS_AUTOBEGINTXN connection attribute to control whether automatic BEGIN TRANSACTION happens after ROLLBACK or COMMIT
  • Support for Ubuntu 20.04

Fixes

  • Fixed a hang when a timeout occurred during an asynchronous notification operation
  • Fixed driver reference count upon upgrade in Alpine Linux
  • Fixed libc6 dependency version for Ubuntu
  • Added missing defines to Linux/macOS msodbcsql.h
  • Fixed a collation issue with variant types when using bcp
  • Fixed an error when authenticating with a federated account requiring a Conditional Access policy (Windows)

 

Next steps

For Windows installations, you can directly download the Microsoft ODBC Driver 17 for SQL Server.

Linux and macOS packages are also available. For installation details see the online instructions.

 

Roadmap

We are committed to improving quality and bringing more feature support for connecting to SQL Server Azure SQL Database Azure Synapse Analytics, and Azure SQL Managed Instance through regular driver releases. We invite you to explore the latest the Microsoft Data Platform has to offer via a trial of Microsoft Azure SQL Database or by evaluating Microsoft SQL Server.

David Engel

7 Comments
Copper Contributor

Great! Any idea how to leverage the Installer and Driver DLLs for this package for redistributing the driver? Thanks.

Steel Contributor

@JonRod You can redistribute the installer package and install it with quiet MSI installation options. Here's an example of how to run it silently:

msiexec /quiet /passive /qn /i msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES

 

Copper Contributor

Thank you David! The issue I'm having is that our main installer in the distribution is currently an .msi itself with no wrapper .exe, so we would need to create a wrapper in order to launch the additional .msi. We have an .exe Setup wrapper, but it's just an information splash screen that directs the user to choose the appropriate .msi to launch depending on their choice (multiple product modules can be chosen and installed separately). We are leaning toward shifting the burden to the end-customer for running the .msi as a prereq, but distributing the .msi with the general package anyway.  We may try to add it as another "choice" on the Setup.exe splashscreen, but the ideal way would be to be able to add the install .dll for the driver as a custom action in our installer script. If this is not possible (i.e., if there simply is no installer .dll for ODBC 17.6.1), we'll just have to work around it. :)

 

Thanks again.

Steel Contributor

@JonRod There is no installer .dll shipped separately for the ODBC Driver. The .msi files are the only artifacts we distribute.

 

Regards,

David

Copper Contributor

Hello @David-Engel - apologies for responding on an old thread, but we are hoping you can point us in the right direction. Our updated product relying on the new Microsoft ODBC 17 driver is in release testing, and we are looking to make sure msodbcsql.msi can be distributed together with our installer package in its original, unmodified form.

 

Our Architect has a concern regarding the highlighted section of the License doc:  

 

DISTRIBUTABLE CODE. The software may contain code you are permitted to distribute (i.e. make available for third parties) in applications you develop, as described in this Section.

Distribution Rights. The code and test files described below are distributable if included with the software.

REDIST.TXT Files. You may copy and distribute the object code form of code listed on the REDIST list in the software, if any, or listed at REDIST;

Third Party Distribution. You may permit distributors of your applications to copy and distribute any of this distributable code you elect to distribute with your applications.

 

We've searched high and low, but cannot find a REDIST.TXT for this package. The "if any" in the clause suggests it's possible there isn't one, but we want to be absolutely sure we're in compliance before launching.

 

If you are not the best resource for this question, I'd be grateful if you could point us in the right direction!

 

Many thanks,

Jon 

Steel Contributor

Hi @JonRod,

 

There is currently no REDIST.TXT in the package. The EULA terminology is simply standardized across products as much as possible. The msi file has everything you need inside of it.

 

Regards,

David

Copper Contributor

Hi

Let me report about memleak issue with latest 17.6 version of the driver under Linux. After some simple tests with the driver (connect/select) I've got following message from Clang v10 ASAN:

=================================================================
==9296==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 2928 byte(s) in 122 object(s) allocated from:
    #0 0x167b13d in operator new(unsigned long) /home/brian/src/final/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:99:3
    #1 0x7f3ba6945c5a  (/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1+0x17dc5a)

Indirect leak of 10736 byte(s) in 122 object(s) allocated from:
    #0 0x167b13d in operator new(unsigned long) /home/brian/src/final/llvm-project/compiler-rt/lib/asan/asan_new_delete.cpp:99:3
    #1 0x7f3ba68d01f9  (/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.6.so.1.1+0x1081f9)

SUMMARY: AddressSanitizer: 13664 byte(s) leaked in 244 allocation(s).

The same test with libmsodbcsql-17.5.so.2.1 library works perfectly, ASAN seems happy with it.

 

Version history
Last update:
‎Aug 04 2020 03:46 PM
Updated by: