2012-12-26 216 views
2

我需要使用Windows身份验证连接到SQL Server,并使用JDBC中的不同用户帐户。这是我使用的代码:使用Windows身份验证连接到使用JDBC中不同用户帐户的SQL Server身份验证

static final String DB_URL = "jdbc:sqlserver://IP:port; databaseName=xyz; integratedSecurity=false; domain=abc"; 

Connection con = DriverManager.getConnection(DB_URL,USER,PASS); 

这里是错误:

com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'abcd'

+0

请在这里http://stackoverflow.com/questions/167464/can-i-connect-to-sql-server-using-windows-authentication-from-java-ee-webapp –

+0

抱歉,迟到的答复。感谢您的回应!我正在使用jdbc 1.2并通过sql server mangment studio我可以使用不同的用户帐户在'运行'中登录到该sql服务器,当我尝试使用上面的代码时,它无法连接。你认为使用jtds它可能会解决这个问题,或者我需要安装最高版本的jdbc? – user1929593

回答

1

像通过@康斯坦丁-V-salikhov你需要设置integratedSecurity=true,如果你真的想给出问题描述使用集成身份验证(在这种情况下,它将作为运行应用程序的用户进行验证)。您还需要sqljdbc_auth.dll文件为installed。当您的实际调用你不应该提供任何用户名或密码,就做这样的事情:

Properties info = new Properties(); 
Connection con = DriverManager.getConnection(DB_URL, info); 

如果要使用SQL Server身份验证(比如你是你的代码示例中做的),你需要为您的SQL Server实例启用混合模式身份验证。

+1

感谢您的回复!但我想要在每次运行的Windows身份验证中使用特定的用户身份验证。可能吗? – user1929593

相关问题