Browse Source

Add support for SAP Hana Database

See gh-14513
pull/14549/head
Michael 7 years ago committed by Stephane Nicoll
parent
commit
cea95c303f
  1. 6
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java
  2. 3
      spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java

6
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java

@ -99,6 +99,12 @@ public enum DatabaseDriver { @@ -99,6 +99,12 @@ public enum DatabaseDriver {
POSTGRESQL("PostgreSQL", "org.postgresql.Driver", "org.postgresql.xa.PGXADataSource",
"SELECT 1"),
/**
* SAP - SAP Hana Database - HDB.
*/
SAP("HDB", "com.sap.db.jdbc.Driver", "com.sap.db.jdbcext.XADataSourceSAP",
"SELECT 1 FROM DUMMY"),
/**
* jTDS. As it can be used for several databases, there isn't a single product name we
* could rely on.

3
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/jdbc/DatabaseDriverTests.java

@ -74,6 +74,7 @@ public class DatabaseDriverTests { @@ -74,6 +74,7 @@ public class DatabaseDriverTests {
assertThat(DatabaseDriver.fromProductName("Apache Derby"))
.isEqualTo(DatabaseDriver.DERBY);
assertThat(DatabaseDriver.fromProductName("H2")).isEqualTo(DatabaseDriver.H2);
assertThat(DatabaseDriver.fromProductName("HDB")).isEqualTo(DatabaseDriver.SAP);
assertThat(DatabaseDriver.fromProductName("HSQL Database Engine"))
.isEqualTo(DatabaseDriver.HSQLDB);
assertThat(DatabaseDriver.fromProductName("SQLite"))
@ -113,6 +114,8 @@ public class DatabaseDriverTests { @@ -113,6 +114,8 @@ public class DatabaseDriverTests {
.isEqualTo(DatabaseDriver.DERBY);
assertThat(DatabaseDriver.fromJdbcUrl("jdbc:h2:~/sample"))
.isEqualTo(DatabaseDriver.H2);
assertThat(DatabaseDriver.fromJdbcUrl("jdbc:sap:localhost"))
.isEqualTo(DatabaseDriver.SAP);
assertThat(DatabaseDriver.fromJdbcUrl("jdbc:hsqldb:hsql://localhost"))
.isEqualTo(DatabaseDriver.HSQLDB);
assertThat(DatabaseDriver.fromJdbcUrl("jdbc:sqlite:sample.db"))

Loading…
Cancel
Save