From f6db1cbcb2871f5571578173ea41e2918b952775 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Mon, 27 Feb 2017 13:41:34 -0800 Subject: [PATCH] Extend Microsoft SQL Server detection Update Microsoft SQL Server detection logic to retain "SQL SERVER" support (just in case the server string is driver specific). See gh-8222 --- .../org/springframework/boot/jdbc/DatabaseDriver.java | 11 ++++++++++- .../boot/jdbc/DatabaseDriverTests.java | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java b/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java index 1ba0178c86..8eb72835ba 100644 --- a/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java +++ b/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java @@ -101,7 +101,16 @@ public enum DatabaseDriver { * SQL Server. */ SQLSERVER("Microsoft SQL Server", "com.microsoft.sqlserver.jdbc.SQLServerDriver", - "com.microsoft.sqlserver.jdbc.SQLServerXADataSource", "SELECT 1"), + "com.microsoft.sqlserver.jdbc.SQLServerXADataSource", "SELECT 1") { + + @Override + protected boolean matchProductName(String productName) { + return super.matchProductName(productName) + || "SQL SERVER".equalsIgnoreCase(productName); + + } + + }, /** * Firebird. diff --git a/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java b/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java index bf31471edb..7b0f2301c0 100644 --- a/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java +++ b/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java @@ -86,6 +86,8 @@ public class DatabaseDriverTests { .isEqualTo(DatabaseDriver.POSTGRESQL); assertThat(DatabaseDriver.fromProductName("Microsoft SQL Server")) .isEqualTo(DatabaseDriver.SQLSERVER); + assertThat(DatabaseDriver.fromProductName("SQL SERVER")) + .isEqualTo(DatabaseDriver.SQLSERVER); assertThat(DatabaseDriver.fromProductName("DB2")).isEqualTo(DatabaseDriver.DB2); assertThat(DatabaseDriver.fromProductName("Firebird 2.5.WI")) .isEqualTo(DatabaseDriver.FIREBIRD);