You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot JPA连接Microsoft SQL Server LocalDB失败求助

解决JPA连接SQL Server LocalDB的驱动URL不兼容问题

问题根源

你使用的是微软官方的com.microsoft.sqlserver.jdbc.SQLServerDriver驱动,但数据库URL采用了jTDS驱动的格式(jdbc:jtds:sqlserver://前缀),两者协议不匹配,导致驱动拒绝处理该URL。

解决方案

1. 修正数据库URL格式

将URL改为微软官方驱动对应的标准格式,针对LocalDB的正确写法如下:

spring.datasource.url=jdbc:sqlserver://localhost\\MSSQLLocalDB;databaseName=Two4H;integratedSecurity=true;TrustServerCertificate=true
  • 前缀使用官方驱动标准的jdbc:sqlserver://
  • 通过databaseName参数指定目标数据库,而非直接拼接在实例路径后

2. 确认依赖正确性

确保项目引入的是微软官方SQL Server JDBC驱动,而非jTDS:
Maven(pom.xml):

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <scope>runtime</scope>
</dependency>

Gradle(build.gradle):

runtimeOnly 'com.microsoft.sqlserver:mssql-jdbc'

3. 完整配置示例

修正后的application.properties:

spring.application.name=Two4H
server.port=8080

spring.datasource.url=jdbc:sqlserver://localhost\\MSSQLLocalDB;databaseName=Two4H;integratedSecurity=true;TrustServerCertificate=true
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServerDialect

4. 额外注意事项

  • 启用integratedSecurity=true时,需将对应系统架构的sqljdbc_auth.dll(从微软JDBC驱动包中获取)放置在系统PATH路径下,或项目的src/main/resources/lib目录中。
  • 确保LocalDB实例已启动,可通过命令行执行:sqllocaldb start MSSQLLocalDB

内容的提问来源于stack exchange,提问作者koszatree

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 08:52:37