From a5e9ca7678f700fd77eb3d4dd856f4067c11eea0 Mon Sep 17 00:00:00 2001 From: David Engel Date: Thu, 20 May 2021 11:31:24 -0700 Subject: [PATCH] Send the driver version to the database during prelogin (#1583) --- .../sqlserver/jdbc/SQLServerConnection.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerConnection.java b/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerConnection.java index 961811b82d..e58ac4a2f0 100644 --- a/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerConnection.java +++ b/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerConnection.java @@ -3046,9 +3046,15 @@ void Prelogin(String serverName, int portNumber) throws SQLServerException { // PL_OPTION_DATA byte[] preloginOptionData = { - // - Server version - - // (out param, filled in by the server in the prelogin response). - 0, 0, 0, 0, 0, 0, + // Driver major and minor version, 1 byte each + (byte) SQLJdbcVersion.major, + (byte) SQLJdbcVersion.minor, + // Revision (Big Endian), 2 bytes + (byte) ((SQLJdbcVersion.patch & 0xff00) >> 8), + (byte) (SQLJdbcVersion.patch & 0xff), + // Build (Little Endian), 2 bytes + (byte) (SQLJdbcVersion.build & 0xff), + (byte) ((SQLJdbcVersion.build & 0xff00) >> 8), // - Encryption - (null == clientCertificate) ? requestedEncryptionLevel