尝试使用spring-boot连接到azure数据库时的java.sql.SQLException

时间:2017-08-14 17:21:52

标签: java spring azure

我有一个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>

2 个答案:

答案 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>