我正在尝试使用 JDBC 驱动程序连接到我的数据库。我必须使用另一个 Windows 域凭据进行连接并收到登录失败错误。想到用我的实际 Windows 凭据对其进行测试,结果成功了。我使用了integratedSecurity = true。
String connectionUrl = "jdbc:sqlserver://server;databaseName=DB;integratedSecurity=true";
我想要使用另一个 Windows 域凭据的连接字符串如下所示:
String connectionUrl = "jdbc:sqlserver://server;databaseName=DB;user=domain\\user;password=test!123;"
我做了以下事情并需要帮助:
- 将 sqljdbc_auth 放入 jdk/bin 和 jre/bin 中
- SQL Server 一直保持混合身份验证模式(Windows 和 SQL 身份验证)。
- 使用我的另一个域 ID,我尝试在 MS SQL Studio 中执行查询,结果成功了。
最佳答案
使用Microsoft JDBC driver ,您可以:
- 使用
用户
和密码
连接SQL Auth - 使用
integratedSecurity=true
连接 Window Auth,这将使用运行 Java 程序的 Windows 用户 - 使用 Kerberos Auth 连接,但这设置起来很复杂:Using Kerberos Integrated Authentication to Connect to SQL Server
如果您想使用域
、用户
和密码
进行简单的NTLM连接,那么您需要使用jTDS JDBC driver .
关于java - DriverManager.getConnection(connectionString) - 方法抛出 'com.microsoft.sqlserver.jdbc.SQLServerException' 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50379173/