【问题标题】:Connect to microsoft sql server from spring jpa从 spring jpa 连接到 microsoft sql server
【发布时间】:2022-03-03 22:22:10
【问题描述】:

我正在使用微软的 sql server,

如果我打开 intellij,在数据库工具窗口中打开新的数据库连接 =>

在高级类型中我添加:

连接有效。但是现在我想用 spring jpa 连接到这个 ms sql 服务器。所以我使用的是:

spring.datasource.url=jdbc:jtds:sqlserver://<host>:<port>;instance=<instance>;domain=<domain>;useNTLMv2=true
spring.datasource.username=<user>
spring.datasource.password=<password>
spring.datasource.driverClassName=net.sourceforge.jtds.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.SQLServerDialect

它只是说“用户登录失败”

在我使用的 pom 中:

<!-- jpa -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    <version>${spring.jpa.version}</version>
</dependency>

<dependency>
    <groupId>jtds</groupId>
    <artifactId>jtds</artifactId>
    <version>1.2</version>
</dependency>

为什么它可以在数据库工具窗口中使用,而不是在 jpa 中?

感谢您的帮助!

【问题讨论】:

    标签: java spring jpa


    【解决方案1】:

    您正在混合 JDBC 驱动连接与 sprig 数据 JPA 连接,对于 JPA 正确连接,您可以将驱动类名称更改为

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

    那么方言就可以了

    spring.jpa.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
    

    最后添加正确的 url 并删除 JDBC 驱动程序相关依赖项

    spring.datasource.url=jdbc:sqlserver://localhost;databaseName=<dbname>
    

    其余属性将与您的相同,请参阅here 中的两个示例。

    【讨论】:

    • 如果我不使用 jtds 驱动程序,即使在 intellij 数据库工具窗口中也会拒绝连接。我尝试使用您的属性,但错误仍然是“用户登录失败”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 2011-09-29
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多