JDBC Driver 12.4 for SQL Server Released

Posted by

This post has been republished via RSS; it originally appeared at: Microsoft Tech Community - Latest Blogs - .

Version 12.4 of the Microsoft JDBC Driver for SQL Server has been released. Version 12.4.0 brings several added features, changes, and fixed issues over the previous production release.



  • Added additional logging info to help debug 2118
  • Added SQL query to toString() in SQLServerPreparedStatement 2099
  • Added Java 20 support 2097
  • Added access token callback class connection string property 2073
  • Added support for Azure Active Directory Service Principal Certificate Authentication 2128


  • Improved performance of building parameter type definitions 1938
  • Removed check condition that had no effect 2129
  • Updated azure-security-keyvault-keys, azure-identity, gson and h2 library versions 2133, 2114
  • Changed serverName sent in LOGIN packet to include instanceName 2140
  • Updated msal4j version 2102
  • Allow failover partner to be tried in case of socket timeout 2100
  • Updated supportsLikeEscapeClause() to check for Azure data warehouse 2092
  • sp_cursor calls now have table names passed in instead of an empty string 2087
  • Updated federated authentication logic to use persistence token cache when fetching token 2079
  • Updated supportTransaction method to reflect whether server supports transactions 2075
  • Made jdk.net optional OSGi import 2069
  • Upgraded to latest OSGi JDBC specification 2017


  • Revert #2051 (Big decimal precision) #2176
  • Fixed server certificate validation for encrypt=strict #2174
  • Fixed static analysis issues identified by SonarQube #2145
  • Resolved high thread count when using findSocketUsingThreading 2104
  • Corrected Activity ID behavior to stay the same for the life of the process, always send Activity ID in PRELOGIN, increment sequence for each new connection and send a unique client ID that persists for duration of process 2136
  • Fixed missing property value for disableStatmentPooling meta info query 2120
  • Fixed typo in access token error message 2119
  • Added a case to throw XAER_RMFAIL on connection reset for XA transactions 2118
  • Fixed lockTimeout not taking effect when redirect mode is set in Azure DB 2110
  • Fixed shared timer race condition 2085
  • Fixed XA error handling to rethrow XAER_RMFAIL instead of XAER_RMERR 2078
  • Fixed issue by accounting for zero meta query results 2074
  • Fixed invalid batch inserts when columns provided in insert differs in order from table schema 1992


Known Issue

  • Localized error strings are not present for languages other than English. This will be addressed in a hotfix.


Getting the latest release

The latest bits are available to download from Microsoft, from the GitHub repository, and via Maven Central.

Add the JDBC 12.4 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 for Java 8/1.8 or .jre11 for Java 11 and up).






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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.