2017-08-14 141 views
0

我有一个spring-boot项目,我尝试连接到一个azure数据库。当我运行应用程序时,我有这个奇怪的错误。java.sql.SQLException试图连接到使用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

这可能是因为你必须使用spring.datasource.platform代替spring.datasource.urlapplication.properties数据源URL。

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> 
相关问题