我有一个spring-boot项目,我尝试连接到azure数据库。当我运行应用程序时,我有这个奇怪的错误。
java.sql.SQLException: Driver:SQLServerDriver:2 returned null for URL:jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
这是我的application.properties
spring.profiles.active=production
spring.thymeleaf.cache=false
spring.datasource.platform=jdbc:sqlserver://spring-boot-intro.database.windows.net:1433;database=spring-boot-intro;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
spring.datasource.username=fabio
spring.datasource.password=*my password*
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.ddl-auto=create-drop
这些是我的依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>slqjdbc6</artifactId>
<version>6</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
答案 0 :(得分:0)
可能是因为spring.datasource.platform
中的数据源网址使用了spring.datasource.url
而不是application.properties
。
答案 1 :(得分:0)
根据您提供的return null for URL: JDBC: h2: mem: testdb's prompt
错误消息,请参阅the document of h2database,其中 url 参数似乎已省略。
此外,我观察到在maven pom.xml中导入sqlserver jar包的一些问题。
请参阅official document中的以下配置:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.2.1.jre8</version>
</dependency>