JDBC SQL Server登录失败,用户'',在pymssql中登录成功

时间:2018-03-21 23:02:35

标签: java sql-server spring-boot jdbc spring-jdbc

我正在尝试从Spring Boot App连接到远程SQL Server。

我在application.properties

中有登录凭据
spring.datasource.url=jdbc:sqlserver://XXXXXXXXX;databaseName=ABC;integratedSecurity=false
spring.datasource.username=user
spring.datasoruce.password=pass
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver

它给出错误:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'user'. ClientConnectionId:212427fc-5a34-4b59-944a-cdd3856116e5
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) ~[sqljdbc4-4.0.jar:na]
    at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254) ~[sqljdbc4-4.0.jar:na]
    ....

但是,如果我尝试使用完全相同的登录凭据(SQL Server身份验证)从SQL Server Management进行连接,那么它可以很好地工作。

它甚至适用于pymssql。我的python代码是

import pymssql
conn = pymssql.connect(host="XXXXXXXXX", user="user", password="pass", database="ABC")

我在python中运行了几个SELECT语句,它们工作正常。

我不明白为什么我无法通过Java连接。

感谢任何帮助。感谢。

2 个答案:

答案 0 :(得分:0)

我使用相同的方法连接没有任何问题。

使用以下依赖项并查看它是否适合您

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.1.0.jre8</version><!--$NO-MVN-MAN-VER$ -->
</dependency>

答案 1 :(得分:0)

我明白了。 application.properties中有一个拼写错误

已更改

spring.datasoruce.password=pass

spring.datasource.password=pass

非常愚蠢的错误。