【发布时间】:2020-04-28 23:43:50
【问题描述】:
我从早上开始就一直在努力尝试将我的 java web 应用程序连接到不同系统上的数据库(使用 windows auth)。
我设法从我的 SSMS 访问它,我去了 Windows 凭据管理器并创建了与安装 SQL 服务器的其他系统相同的凭据,以下是详细信息:
现在,当我在 SSMS 中使用 IP(192.168.2.172) 作为服务器名称时,我可以使用 windows auth 进行连接,但无法从我的 Java Web 应用程序访问它。 我正在使用带有以下字符串的 jtds,但它不起作用。请帮忙
<property name="url" value="jdbc:jtds:sqlserver://192.168.2.172:1433/realtime;useNTLMv2=true" />
我经常收到此错误:
Caused by: java.sql.SQLException: Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:649)
at net.sourceforge.jtds.jdbc.JtdsConnection.<init>(JtdsConnection.java:371)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:184)
at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38)
at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582)
at org.apache.commons.dbcp.BasicDataSource.valida
【问题讨论】:
-
听起来您应该与网络管理员讨论两个域之间的信任问题。
-
@Larnu 感谢您的回复,但是如果是网络问题,SSMS 怎么能够连接?
-
那么 Java 是否在来自不同域的凭据下运行?
-
@Larnu 你的意思是Java安装在我的机器上?我认为这应该使用我的系统凭据,还是有办法检查?
-
在connstring中设置域*.com/questions/3682852/…
标签: java sql-server ssms windows-authentication jtds