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

使用JDBC中不同用户帐户的Windows身份验证连接到SQL Server,jdbc,sqljdbc,mssql-jdbc,Jdbc,Sqljdbc,Mssql 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.micro

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


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

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

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

请参阅此处,抱歉,回复太晚。谢谢你的回复!!我使用的是JDBC1.2,通过SQLServerManagementStudio,我可以使用“RunAs”中的不同用户帐户登录到该sql server,当我尝试使用上述代码时,它不会连接。你认为使用jtds可以解决这个问题,还是我需要安装jdbc的最高版本???谢谢你的回复!但我希望在每次运行的windows身份验证中使用特定的用户身份验证。可能吗?