使用Windows身份验证,JAVA连接到远程MSSQL

时间:2014-12-04 12:13:19

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

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

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

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       at 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)

1 个答案:

答案 0 :(得分:0)

这只是一个错字吗?

intergratedsecurity=true

应该是

integratedSecurity=true

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