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