使用Windows身份验证使用JDBC中的不同用户帐户连接到SQL Server

时间:2012-12-26 10:59:53

标签: jdbc sqljdbc mssql-jdbc

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

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:用户登录失败' abcd'

1 个答案:

答案 0 :(得分:1)

如同@ konstantin-v-salikhov提供的问题所述,如果您确实想要使用集成身份验证,则需要设置integratedSecurity=true(在这种情况下,它将作为运行应用程序的用户进行身份验证)。您还需要sqljdbc_auth.dll文件为installed。当您拨打实际电话时,您不应提供任何用户名或密码,只需执行以下操作:

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

如果要使用SQL Server身份验证(就像在代码示例中那样),则需要为SQL Server实例启用混合模式身份验证。