Python pymssql 尝试启动一个新的 Adaptive Server 操作,结果未决

Python pymssql Attempt to initiate a new Adaptive Server operation with results pending

我有一个 Python 脚本使用套接字和线程允许 10 个服务器连接到一个端口。每个服务器转储一串数据。有时数据进来得很快,有时又进来得很快。

Python 脚本获取数据 blob,进行子字符串计数以获得 "column" 值,然后使用 pymssql 将其发送到 MSSQL。非常直接。

这是脚本的 MSSQL 部分的片段:

dbConn = pymssql.connect(server=mssql_server, user=mssql_user, password=mssql_pass, database=mssql_db)
cursor = dbConn.cursor()

date = data[0:6]
time = data[7:11]
duration = data[12:16]

mssql_output_raw = "('%s','%s','%s');" % (date, time, duration)
mssql_output = mssql_output_raw.replace(" ", "") # Remove any whitespace

# Write to MSSQL table
try:
    query = "INSERT INTO %s VALUES %s" % (mssql_table, mssql_output)
    cursor.execute( query )
    dbConn.commit()
except pymssql.OperationalError as e:
    logmsg("pymssql.OperationalError exception caught: %s" % str(e).replace("\n", " ") )
except:
    pass

每隔一段时间(也许是在数据快速进入时?)我会得到这个异常:

20019, 
'DB-Lib error message 20019, severity 7:
Attempt to initiate a new Adaptive Server operation with results pending

脚本不会崩溃,因为脚本是 a) 运行 在后台;或 b) 在前台但涌出数据,我不确定数据是否曾经进入 MSSQL。

任何人都可以分享这个错误的含义吗?

我可能已经明白了。在我的脚本中,我使用线程。所有线程都有 1 SQL 个连接器。我的猜测是一个 SQL 连接器被所有查询淹没了。

我已经更新了我的脚本,以便每个线程都有自己的连接器。到目前为止一切顺利。