首页 文章

java sql连接字符串与windows替代凭据

提问于
浏览
1

我正在尝试使用Hibernate 5连接到SQL Server 2012数据库 . 我使用以下连接字符串以连接到数据库

jdbc:sqlserver:// server; instanceName = instance; DatabaseName = database; integratedSecurity = true

由于数据库身份验证是使用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:// server; instanceName = instance; DatabaseName = database; domain = domain; userName = user; password = passowrd

但它也不起作用 . 出现相同的错误,它只更改异常消息上的用户名 . 您是否知道我应该如何修改连接字符串?

1 回答

  • 0

    经过几个月的调查和微软介入中间,我们终于找到了答案 . 在Windows 10 Creators版本上,有一个修补程序可以更改Windows凭据管理器 . 为了工作,必须通过以下方式指定凭据:互联网或网络地址:fdqn:port usersname:user @ domain如果域具有多个组件,则前Windows 2000格式不起作用Ex:contoso.com \ user工作,但contoso.msft.com \用户不起作用在Windows 10 Fall Creators Edition中,它已修复,您只能使用互联网或网络地址上的fqdn或服务器名称 .

相关问题