MSSQL 服务器在“abc”域中,并且具有混合模式身份验证。 我正在从不在域或域“xyz”中但使用 MSSQL Jdbc 驱动程序 2.0 在同一网络中的机器连接。我已在 xyz 域中以管理员身份或帐户登录。
使用以下 url 连接“sa”或 SQL 模式身份验证时效果很好。
jdbc:sqlserver://%DB_IP%:%DB_PORT%;SelectMethod=cursor;DatabaseName=dbname
它不起作用对于使用凭据 "MSSQLDomain\username"
即 "abc\username"
的窗口身份验证,使用以下 url
jdbc:sqlserver://%DB_IP%:%DB_PORT%;SelectMethod=cursor;integratedSecurity=true;DatabaseName=dbname;
给出以下错误。 用户 '' 登录失败。该用户未与受信任的关联 SQL Server 连接。
我已经尝试将属性 Trusted_Connection=Yes 添加到 url,但仍然出现相同的错误。 我不想映射 SQL Server 的驱动器。我可以通过提供“MSSQLDomain\username”和密码来访问 SQL Server 机器的任何共享文件夹。
如果两台机器都在同一个域中,那么这两种身份验证模式都可以正常工作。 如果我从不在同一网络(即同一子网)的域或“xyz”域中的机器上使用 jtDS 驱动程序,它工作正常。
最佳答案
这是 Windows 身份验证有意而正确的行为。
这是因为您连接的域与您的 SQL Server 实例所在的 Windows 域不同。
我相信有一些方法可以桥接域,但是它们需要自定义和棘手的实现。您还必须配置域之间的信任关系。
以下线程包含您可能会觉得有用的讨论。
http://sql-server-performance.com/Community/forums/p/24601/137574.aspx
关于sql-server - Windows 身份验证受信任的连接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/881928/