gpt4 book ai didi

python - 使用另一个域的用户凭据连接到 SQL Server

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:24 25 4
gpt4 key购买 nike

如何使用另一个域中的用户登录名/密码连接到 SQL Server 数据库?

如果我使用我的帐户连接到数据库,它工作正常:

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=testdb;UID=MY_Domain\\username;PWD=pass; Trusted connection=YES')

但我需要使用其他用户的凭据,例如

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=server_name;DATABASE=testdb;UID=Another_Domain\\username;PWD=pass; Trusted connection=YES')

当我尝试后者时,我收到“MY_Domain\username 登录失败”的错误,而不是对于用户“Another_Domain\username”。

在这两种情况下,通过运行 SQL Server Management Studio,我都可以使用 Windows 身份验证连接到数据库。

最佳答案

您不能传递 UIDPassword 并设置 Trusted_connection=True(您的第二个连接字符串)连接为(模拟) window 用户。您可以作为 SQL Server 用户(用户名和密码)或作为 Windows 身份验证用户(受信任的连接)进行连接。

您的代码应模拟 Windows 用户(如 SSMS 所做的那样),然后设置 Trusted_connection=True

此 MSDN 页面 WindowsIdentity.Impersonate有一个例子。

由于这适用于 SSMS,因此表明域之间存在必要的信任。

关于python - 使用另一个域的用户凭据连接到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21508689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com