Wednesday, April 6, 2022

Early technical preview of JDBC Driver 11.1.0 for SQL Server released

We have released a new early technical preview of the JDBC Driver for SQL Server which contains several additions and changes.

 

Precompiled binaries are available on GitHub and also on Maven Central.

 

Encrypt = strict

There is one breaking change in the 11.1 preview over previous releases. To support the new TDS 8.0 protocol where TLS encryption is negotiated before TDS, a new Encrypt option has been added, "strict". This required changing the getEncrypt() API to return a string instead of just a Boolean. Setting Encrypt to "strict" causes the driver to negotiate a TLS connection to the server first, instead of previous behavior where TDS was negotiated, then, if using encryption, TLS would be negotiated inside the TDS stream. Negotiating TLS first means all TDS connection and feature negotiation happens over an encrypted channel.

 

Below is a summary of the new additions and changes.

 

Added

  • Added new connection string property prepareMethod to toggle use of sp_prepare 1719
  • Added new encrypt options for TDS 8.0 support 1757
  • Added Configurable IPv6 Support 1766
  • Added serverCertificate connection property for encrypt=strict 1773
  • Added option for NONE attestation protocol 1779

Changed

  • Added encrypt utility to obfuscate password strings in memory 1780
  • Simplified traceID creation in DataSource and PooledConnection 1747
  • Refactored SQLServerColumnEncryptionAzureKeyVaultProvider usage in SQLServerConnection 1774

Fixed

  • Removed extra call to executeCommand() within connectionCommand() 1754
  • Fixed warnings for Implicit narrowing conversion in compound assignment 1758
  • Added check for MSAL library when attempting ActiveDirectoryServicePrincipal authentication 1759
  • Fixed Managed Identity retry interval to exponential backoff properly 1770

 

Getting the latest release

The latest bits are available on our GitHub repository, and Maven Central.

Add the JDBC preview driver to your Maven project by adding the following code to your POM file to include it as a dependency in your project (choose .jre8, .jre11, or .jre17 for your required Java version).

 

 

<dependency> 
  <groupId>com.microsoft.sqlserver</groupId> 
  <artifactId>mssql-jdbc</artifactId> 
  <version>11.1.0.jre17</version> 
</dependency> 

 

 

Help us improve the JDBC Driver by taking our survey, filing issues on GitHub or contributing to the project.


Please also check out our tutorials to get started with developing apps in your programming language of choice and SQL Server.


David Engel

Posted at https://sl.advdat.com/3jeklAChttps://sl.advdat.com/3jeklAC