【问题标题】:Connect to MSSQL on remote, with windows authentication, JAVA远程连接到 MSSQL,使用 Windows 身份验证,JAVA
【发布时间】:2014-12-04 12:13:19
【问题描述】:

我需要连接到远程 ms sql。我有 windows 服务器登录信息要连接。该登录用户可以连接到 MSSQL 服务器。 (我的意思是我可以通过该用户的 Windows 身份验证连接到 MSSQL 服务器)

我想用 Java 代码做到这一点。我尝试使用 jdbc 驱动程序连接,但我不能。如何使用有权连接 MSSQL 2008 R2 的 windows 用户远程连接到 MSSQL 服务器。

String connectionurl = "jdbc:sqlserver://remoteIP:port;databaseName=databasename;intergratedsecurity=true";

甚至我尝试使用用户名密码,通过它我可以连接到远程 Windows 服务器。

String connectionurl = "jdbc:sqlserver://remoteIP:port;databaseName=databasename;username=ab;password=bc";

错误:

用户“”登录失败。 ClientConnectionId:916ac72a-9c78-45f9-bc61-680793d1fea7 在 com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216) 在 com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:254) 在 com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:84) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:2908) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2234) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) 在 com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) 在 com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)

【问题讨论】:

  • sql认证方式的JDBC sqlServer用户名就是user - reference MSDN
  • 第一个 URL 适合我。不过,将正确版本的 sqljdbc_auth.dll 放入正确的目录有点棘手。
  • 嗨 stuartLC,仍然收到同样的错误 String url = "jdbc:sqlserver://remoteIP:port;databaseName=databasename;user=username;password=password";

标签: java sql sql-server sql-server-2008 jdbc


【解决方案1】:

这只是一个错字吗?

intergratedsecurity=true

应该是

integratedSecurity=true

Windows 身份验证意味着 SQL Server 使用 Windows 登录令牌。由于这个错字,它需要一个您没有的用户名和密码。因此出现错误消息Login failed for user ''.

【讨论】:

  • 我有用户名和密码来连接到远程服务器,即使我使用它也会引发同样的错误 Login failed for user 'username'.
  • 作为windows还是SQL登录?
  • 如果我使用 Integratedsecurity=true 那么它需要我的本地 Windows 用户名。用户 'GLOBAL_knp' 登录失败
  • 我有 Windows 远程服务器的用户名和密码。 sql server使用windows认证,sql server我没有用户名和密码。
  • 不,我没有。但是我有单独的凭据,我可以通过 Windows 身份验证通过 sql 连接到那里的 windows 服务器
猜你喜欢
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-30
  • 2010-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多