我正在尝试使用Hibernate 5连接到SQL Server 2012数据库。 我使用以下连接字符串以连接到数据库
JDBC:SQLSERVER://服务器;实例名=实例;数据库名=数据库; integratedSecurity =真
由于数据库身份验证是使用Windows凭据。但是,我的帐户无法访问它,因此我需要使用我在Windows Credential Manager上配置的应用程序帐户。 当我通过Microsoft SQL Management Studio连接到数据库时,它工作正常(它从凭证管理器中获取用户和密码并登录到数据库)。但是,当我尝试使用该应用程序时,它似乎仍然使用我的主帐户进行身份验证,因为它显示以下错误:
引起:com.microsoft.sqlserver.jdbc.SQLServerException:用户'SA \ ezequiel.de-luca'登录失败。 ClientConnectionId:b10e13ef-e400-4569-bb2e-be592e2d9872
我尝试在连接字符串上传递凭据,如下所示
JDBC:SQLSERVER://服务器;实例名=实例;数据库名=数据库;域=域;用户名=用户;密码= passowrd
但它也不起作用。出现相同的错误,它只更改异常消息上的用户名。 您是否知道我应该如何修改连接字符串?
答案 0 :(得分:0)
经过几个月的调查,并且微软介入其中,我们终于找到了答案。在Windows 10 Creators版本中,有一个补丁可以更改Windows凭据管理器。为了工作,必须以以下方式指定凭据: 互联网或网络地址:fdqn:port 用户名:user @ domain如果域具有多个组件,则Windows 2000之前的格式不起作用例如:contoso.com \ user起作用,但是contoso.msft.com \ user不起作用 在Windows 10 Fall Creators Edition中,它已修复,您只能在Internet或网络地址上使用fqdn或服务器名称。