首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将spring引导连接到azure sql server。

将spring引导连接到azure sql server。
EN

Stack Overflow用户
提问于 2017-08-07 14:42:23
回答 3查看 1.9K关注 0票数 0

我有一个spring引导项目,在这个项目中,我尝试连接到我刚刚创建的一个azure数据库。我第一次尝试它的时候,我是在com.microsoft.sqlserver groupId下使用它,每次我试图启动它时,我都有安全错误,在谷歌上搜索,我发现它是通过使用6+版本来修复的。然后我安装了它并设置了依赖项

代码语言:javascript
复制
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>slqjdbc6</artifactId>
        <version>6.2.1</version>
    </dependency>

现在我不再有这个错误了,但是我使用org.springframework.beans.factory.UnsatisfiedDependencyException:错误创建了名为'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration':的bean,通过构造器参数0表示了不满意的依赖关系;嵌套的异常是通过工厂方法创建类路径资源org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class: bean实例化中定义的名为'dataSource‘的Bean的org.springframework.beans.factory.BeanCreationException:错误;嵌套异常是org.springframework.beans.BeanInstantiationException:未能实例化org.apache.tomcat.jdbc.pool.DataSource:工厂方法'dataSource‘抛出的异常;嵌套异常为java.lang.IllegalStateException:无法加载驱动程序类: com.microsoft.sqlserver.jdbc.SQLServerDriver

依赖关系

代码语言:javascript
复制
<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.2.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

application.properties

代码语言:javascript
复制
spring.h2.console.enabled=true
spring.h2.console.path=/console
spring.datasource.platform=h2

#  production profile
spring.datasource.url=jdbc:sqlserver://spring-boot-intro.database.windows.net:1433;database=spring-boot-intro;user=fabio@spring-boot-intro;password=*my password*;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

#  crud
spring.jpa.hibernate.ddl-auto=create-drop

slqjdbc6在.m2存储库中的应用

代码语言:javascript
复制
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\maven-metadata-local.xml
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\_remote.repositories
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\slqjdbc6-6.2.1.jar
C:\Users\*user*\.m2\repository\com\microsoft\sqlserver\slqjdbc6\6\slqjdbc6-6.2.1.pom
EN

回答 3

Stack Overflow用户

发布于 2017-08-07 17:35:11

你把那个驱动器安装到哪里了?Server驱动程序在公共Maven存储库中不可用,因此,除非您有一个私有的maven存储库(您已经将其添加到其中),否则pom.xml中的依赖项(包括它)不会在运行时导致jdbc驱动程序可用。

如果您没有一个私有/公司的maven存储库来添加JDBC驱动程序,我建议在源代码中添加jar文件,并使用filesystem存储库来引用该文件。

有关如何创建这样一个存储库Maven: add a dependency to a jar by relative path的其他详细信息,您可以参考这个答案。

票数 1
EN

Stack Overflow用户

发布于 2017-08-08 08:37:20

尝试解决问题的两种方法。

  1. 正如@Ben所说,请参考文档Download Microsoft JDBC Driver for SQL ServerDownload Microsoft JDBC Driver for SQL Server部分,将mssql-jdbc驱动程序依赖项添加到pom.xml文件中,并通过Maven Central安装它。
  2. 或者,您可以首先从上面文档的链接下载驱动程序的jar文件。然后运行命令mvn install:install-file -Dfile=mssql-jdbc-6.2.1.jre8.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=mssqljdbc6 -Dversion=6.2.1,手动将maven依赖项安装到本地maven路径,并将下面的依赖项内容添加到pom.xml中。 com.microsoft.sqlserver mssqljdbc6 6.2.1

希望能帮上忙。

票数 0
EN

Stack Overflow用户

发布于 2019-04-03 23:31:24

试着改变

代码语言:javascript
复制
spring.datasource.platform=h2

代码语言:javascript
复制
spring.datasource.platform=mssql
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45549648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档