0

当我想连接到需要 Windows 身份验证的 SQL 服务器并且我正在连接到命名实例时,我应该如何在 jdbc 中编写连接字符串?

所以我有我的连接字符串

jdbc:sqlserver://sqlserver4\Test;datebaseName=TestDB;user=g\John;password=hello123

我也试过用sqlserver4;namedInstance=Test而不是sqlserver4\Test

我试过下

控制面板 -> 管理工具 -> ODBC 数据源

Shift 右键单击​​ -> 以其他用户身份运行

与此测试一样登录user=g\John password=hello123我可以成功连接,但在我的 jdbc 连接字符串中我得到Login failed for user g\John.

在数据库中使用 Windows 用户身份验证和命名实例时,是否必须以特定方式设置连接字符串?

4

3 回答 3

1

根据:https ://msdn.microsoft.com/en-us/library/bsz5788z.aspx

如果您的应用程序在基于 Windows 的 Intranet 上运行,您可能能够使用 Windows 集成身份验证来访问数据库。集成安全性使用在操作系统线程上建立的当前 Windows 身份来访问 SQL Server 数据库。然后,您可以将 Windows 标识映射到 SQL Server 数据库和权限。

要使用 Windows 集成身份验证连接到 SQL Server,您必须确定运行 ASP.NET 应用程序的 Windows 身份。您还必须确保该身份已被授予访问 SQL Server 数据库的权限。本主题包含一个显示 ASP.NET 应用程序的当前 Windows 标识的代码示例。

所以尝试添加这个:

integratedSecurity=true;

在连接字符串的末尾并删除用户名和密码

于 2016-01-28T16:46:04.407 回答
0

在生产系统中,所有数据库服务器/主机都将具有特定于应用程序的用户 ID,例如 report_app_user、dev_app_user、dev_env_user、test_env_user、uat_env_user,并且 JDBC api 会及时连接它。

请与 IT 支持团队/数据库管理员联系以获取特定于应用程序的用户 ID。

否则,您将无法使用与 Windows 身份验证绑定的 db 用户。

于 2016-01-28T16:56:15.710 回答
0

我已经尝试了所有这些,但似乎我必须实现一些弹簧安全性并设置一个 LDAP 服务器才能通过 AD 用户与 MuleESB 进行连接。但无论如何谢谢:)。

于 2016-01-29T13:43:15.620 回答