Spring Boot 2.2.2 数据源 URL 不适用于 SQL Server 2019

Posted

技术标签:

【中文标题】Spring Boot 2.2.2 数据源 URL 不适用于 SQL Server 2019【英文标题】:Spring Boot 2.2.2 Datasource URL not working for SQL Server 2019 【发布时间】:2021-03-06 07:32:32 【问题描述】:

我正在尝试在 SQL Server 2019 上使用 Spring 进行测试开发,但我得到的只是数据源 url 属性问题。

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

至于我的 yml 配置,我认为我没有设置错误

spring:
  datasource:
    url: jdbc:sqlserver://localhost:1433;databaseName=yap_test
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    username: 'yap_user'
    password: 'P@ssw0rd'
  jpa:
    hibernate:
      ddl-auto: update
    properties:
      hibernate:
        show_sql: false
        format_sql: false
        dialect: org.hibernate.dialect.SQLServer2012Dialect
        use_nationalized_character_data: true
      org:
        hibernate:
          envers:
            audit_table_prefix: AUD_
            audit_table_suffix: ''
            revision_field_name: REVISION_ID
            revision_type_field_name: REVISION_TYPE
            store_data_at_delete: true

对于 JDBC 驱动程序,我使用的是 mssql-jdbc-8.2.2.jre8

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.2.2.jre8</version>
</dependency>

希望有人能帮我弄清楚我的配置问题是什么

【问题讨论】:

【参考方案1】:

一切看起来都很好。属性文件没有问题。

首先尝试检查您的本地 maven 存储库中是否存在 "mssql" jar。

如果存在,则更新您的属性文件,如下所示:--

spring.datasource.driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

在您的情况下,它应该是:--(yml 文件)

spring:
  datasource:
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

如果它不存在:--

解决方案:- 在 pom 中给出 mssql JAR 路径,然后运行

【讨论】:

哦,谢谢你的回答,但我确实找到了答案。我在重新打包时添加了排除 yml 文件,这就是为什么它永远无法实际加载我的配置【参考方案2】:

我实际上在 jar 重新打包期间添加了排除任何 YML 文件,这就是为什么我每次尝试在本地运行它都找不到 url 属性的原因。

【讨论】:

以上是关于Spring Boot 2.2.2 数据源 URL 不适用于 SQL Server 2019的主要内容,如果未能解决你的问题,请参考以下文章

Spring boot 配置数据源失败:未指定“url”属性

Spring Boot YAML 自动数据源配置问题 - 未拾取数据源 URL

Spring Boot 无法从数据源确定 jdbc url

Spring Boot 2.2.2.RELEASE 版本中文参考文档

Spring Boot Dataway 配置多数据库源

Spring Boot Dataway 配置多数据库源