Announcing the JDBC Driver 7.0 RTW!


We are pleased to announce the production release of the Microsoft JDBC Driver 7.0 for SQL Server!

The 7.0 Release To World (RTW) includes the following items since the previous RTW release:

Added

  • Added new connection property "useBulkCopyForBatchInsert" to enable Bulk Copy API support for batch insert operation (Azure SQL Data Warehouse specific) #686
  • Added setUseBulkCopyForBatchInsert() to request boundary declaration APIs #739
  • Added support for spatial datatypes #642
  • Added support for JDK 10 for both Maven and Gradle #691
  • Added 'Automatic-Module-Name' manifest entry to jre10 Jar, allowing JDK 10 users to access driver module 'com.microsoft.sqlserver.jdbc' #732
  • Added implementation for Boundary method APIs on Connection interface introduced with Java 9 #708
  • Added new connection property "cancelQueryTimeout" to cancel QueryTimeout on Connection and Statement #674
  • Added removed constructor back to AKV Provider which supports authentication with a customized method to fetch accessToken #675
  • Added support for "Data Classification Specifications" on fetched resultsets #709
  • Added support for UTF-8 feature extension #722

Fixed Issues

  • Fixed policheck issue with 'Country' keyword #745
  • Fixed issues reported by static analysis tools (SonarQube, Fortify) #747
  • Fixed blobs becoming unavailable when the Result Set cursor moves or the Result Set closes #595
  • Fixed an issue when attempting to insert an empty or null value into an encrypted column #632
  • Fixed a misleading error message thrown by the driver when a user doesn't have execute permissions #635
  • Fixed statements throwing SQLServerException instead of java.sql.SQLTimeoutException when the query times out #641
  • Fixed an issue where ResultSetMetadata returned incorrect columnType for Geometry and Geography data types #657
  • Fixed server side CPU Affinity problems caused by uneven connection distribution across NUMA Nodes when multiSubnetFailover is true #662
  • Fixed an issue where Driver wasn't parsing TDS Packets completely to capture exceptions raised inside executed stored procedures #664
  • Fixed an issue where driver throws exception when using setMaxRows() followed by query execution when SHOWPLAN_TEXT is ON #666
  • Improved performance degradation while maintaining JDBC compliance with results from sp_fkeys #677
  • Fixed an issue where ResultSetMetaData instances created by a ResultSet that has been closed were not persisting #685
  • Fixed an issue with PreparedStatement.setBigDecimal when no scale is passed #684
  • Fixed an issue with Clobs/NClobs not persisting after ResultSet/Connection closes #682
  • Fixed the driver disposing user created credentials when using Kerberos Constrained Delegation #636
  • Fixed an issue with HostnameInCertificate when redirected while connected to Azure #644
  • Fixed an intermittent issue with Prepared Statement handle not found #648
  • Fixed a conflict with JDBC Compliance where the driver was returning marked columns as SS_IS_COMPUTED instead of IS_GENERATED #695
  • Fixed maven build warnings and deprecated Java API warnings #701
  • Fixed some Javadoc related warnings #702
  • Fixed issue with escaping catalog name when retrieving from database metadata #718
  • Fixed issue with tests requiring additional dependencies #729

Changed

  • Reformatted code and updated mssql-jdbc-formatter #742
  • Changed Sha1HashKey to CityHash128Key to improve performance when generating PreparedStatement handle and metadata cache keys #717
  • Changed order of logic for checking the condition for using Bulk Copy API #736
  • Changed collation name in UTF8SupportTest #741
  • Changed scope of unwanted Public APIs #757
  • Changed behavior of Bulk Copy API for batch inserts to disallow non-parameterized queries #756
  • Changed APIs and JavaDocs for Spatial Datatypes #752
  • Improved Javadoc comments in driver #754, #760
  • Unit tests now use SQLException in most cases instead of SQLServerException.
  • Removed unused imports which forced users to import the ADAL4J library #652
  • Updated the samples to be usable with Eclipse directly, and updated the driver version used by the samples to 6.4.0.jre9 #679
  • Updated Gradle script for building JDBC Driver #689
  • Updated Maven dependencies for test suite #676
  • Updated multiple Maven dependency and plugin versions #688
  • Made driver default compliant to JDBC 4.2 specifications #711
  • Updated ADAL4J dependency version to 1.6.0 #711
  • Cleaned up socket handling implementation to generalize functionality for different JVMs and simplified the logic for single address case #663

Getting the latest release

The latest bits are available on the Microsoft Download Center, GitHub repository and Maven Central.

Add the JDBC 7.0 RTW 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 or .jre10 for your required Java version).

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>7.0.0.jre10</version>
</dependency>

Help us improve the JDBC Driver by taking our surveyfiling 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

Comments (0)

Skip to main content