无法使用带有 Windows 身份验证的 pymssql 进行连接
Posted
技术标签:
【中文标题】无法使用带有 Windows 身份验证的 pymssql 进行连接【英文标题】:Unable to connect using pymssql with windows authentication 【发布时间】:2013-06-02 18:02:42 【问题描述】:尝试使用 pymssql 连接到 MSSQL Server 2012 时,我收到以下错误。
我在 Windows 身份验证中的服务器名称是 SARATH,用户名称是 Sarath\SarathShanker,我没有设置密码。
代码:
mssql_conn=pymssql.connect(host='SARATH',user='Sarath\SarathShanker',password='',database='matrix')
错误:
回溯(最近一次通话最后一次): 文件“”,第 1 行,在 pymssql.connect (pymssql.c:7990) 中的文件“pymssql.pyx”第 556 行
pymssql.OperationalError: (18452, '登录失败。登录来自不受信任的 域并且不能与 Windows 身份验证一起使用。DB-Lib 错误消息 18452 , 严重性 14:\n一般 SQL Server 错误: 检查来自 SQL Server 的消息\nDB -Lib 错误消息 20002,严重性 9:\n自适应服务器连接失败\nDB-Lib 错误消息 18452,严重性 14:\n一般 SQL Server 错误:检查来自 m SQL Server\nDB-Lib 错误消息 20002,严重性 9:\nAdaptive Server conne 操作失败\n')
我应该如何修改我的脚本以使用 pymssql 连接到 MSSQL Server。
P.S 我也已经导入了 pymssql。 (上面的代码中没有显示)
【问题讨论】:
运气好了吗? 【参考方案1】:试试这个:
conn = pymssql.connect(host='myhost', database='mydb')
这适用于 Python 3.4 版和 Windows 身份验证。
【讨论】:
【参考方案2】:如果在 RHEL 上,请尝试
os.environ["FREETDSCONF"] = "/etc/freetds.conf"
【讨论】:
【参考方案3】:如果你使用的是最新版本的pymssql(我用的是2.1.3),
pymssql.connect(server='<TEST_SERVER>', database='<TEST_DB>')
只需将 '' 和 '' 替换为您的服务器和数据库名称。
【讨论】:
以上是关于无法使用带有 Windows 身份验证的 pymssql 进行连接的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Windows 身份验证发布到 asp.net core web api
JetBrain Rider,使用带有 Windows 身份验证的 IIS Express 时访问被拒绝