Windows身份验证经常与pymssql失败

时间:2018-01-16 17:46:48

标签: python windows-authentication pymssql

我遇到的问题是,Windows身份验证几乎已经完成停止为pymssql 2.1.3工作。它上周正在运行,但是现在当我尝试使用我的AD登录时,它几乎每次都会出现错误(20009, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (878240-SQLdb4:1433)\n'),但它确实设法每100次尝试成功约1次。我在运行我的Python代码的服务器上安装了Sql Server Management Studios,并且Windows身份验证似乎工作正常。我检查了sql日志是否登录失败,我看不到任何尝试。

这是我的代码:

import pymssql

conn = pymssql.connection(server='myserver',database='database1')

任何让它连接一致的想法?

*编辑:如果这是我几分钟后第一次尝试登录,它似乎更加一致。

1 个答案:

答案 0 :(得分:0)

所以我不得不切换到pyodbc,它更好地支持Windows身份验证。 请记住,最新版本的pyodbc(4.0.21)不支持Python 3.6,所以你需要使用3.5。显然有一个用于python 3.6的轮子,但我还没有测试过它并且看起来pip无法在Windows上本机安装它。我还必须更改一些内容,例如连接字符串以及如何调用存储过程(pyodbc没有callproc函数)。这是我的连接字符串:

import pyodbc

conn = pyodbc.connect(server='server',database='database',Trusted_Connection='yes', driver = '{ODBC Driver 13 for SQL Server}')