我正在尝试在多个线程中使用pyodbc连接。我收到以下错误:Connection is busy with results for another command (0) (SQLExecDirectW)')
。我也尝试设置MultipleActiveResultSets=yes;
并获得了相同的结果。
我真的不想为每个线程或查询都创建一个连接。我也不想使用锁来序列化所有线程的查询。
我先是使用驱动程序“ SQL Server”,然后运往“ SQL Server Native Client 11.0”。
有什么建议吗?
答案 0 :(得分:2)
由于这个问题只是在寻求建议而不是一个有力的答案,所以这是我的:
首先,我建议为每个创建的线程创建一个新连接。
或者,如果您可以终止当前正在执行的操作,可以在重新使用连接之前尝试使用cursor.cancel()。
此外,在快速搜索之后,我发现了与此问题相关的对Multiple Active Result Sets的多个引用。如果您的数据库支持它,请尝试在连接字符串中添加“ MultipleActiveResultSets = True”。
我希望这些建议之一可以帮助您到达需要的地方!