【发布时间】:2020-07-21 11:44:10
【问题描述】:
问题:
我想从Microsoft Excel 365 连接到Microsoft SQL Server 2016 内的数据库。
连接字符串已经包含一个帐户的用户名和密码,该帐户是作为用户在特定 SQL 数据库上创建的。
有一个问题,当我想用这个扩展连接字符串时:Trusted_Connection=YES
在这种情况下,它不起作用。我收到以下错误消息:
SQLState: '28000'
SQL Server-Error: 18456
[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'DOMAIN\CurrentLoggedInWindowsUsername'
当我删除连接字符串Trusted_Connection=YES 时,连接工作得很好。
解决方法:
我确实找到了一种解决方法。当我在 MS Sql Server 上为特定的 windows 用户帐户创建登录帐户时,用户能够通过受信任的连接连接到数据库。
但我不喜欢这样做,因为我已经创建了一个特定的用户,该用户在连接字符串中被提及。此外,我想与多个用户共享此 excel,我不想在 Microsoft SQL Server 中为每个人创建登录。
请注意,我已经确定 SQL Server and windows Authentication 模式已设置。
问题:
您有什么想法,我如何确保创建一个受信任的连接字符串,而无需在 Microsoft SQL 中添加每个 Windows 用户帐户?
【问题讨论】:
-
SQL Server Management Studio v17.9.1 不是 SQL Server 的版本,而是 SSMS 的版本;用于与 SQL Server 交互的 IDE。至于问题,如果在您删除
Trusted_Connection=YES时连接“有效”,那么这听起来像是您在说您传递了该参数以及一些 Windows 凭据。这不是它的工作原理。您可以通过登录名和密码,并使用 SQL 身份验证,或者使用受信任的连接。但这是一个猜测,基于我们掌握的信息。如果您查看 SQL Server 的日志,您将看到真正的身份验证失败原因。 -
@Larnu 非常感谢,我刚刚更新了 SQL 版本。但是我是否理解正确:如果连接字符串包含 SQL 用户名和密码,则不需要 Trusted_Connection(因为它不通过 Windows 登录进行连接)。顺便问一下,您指的是哪些 SQL 日志?
标签: sql-server excel database