我遇到的问题是,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')
任何让它连接一致的想法?
*编辑:如果这是我几分钟后第一次尝试登录,它似乎更加一致。
答案 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}')