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 连接器被所有查询淹没了。
我已经更新了我的脚本,以便每个线程都有自己的连接器。到目前为止一切顺利。
我有一个 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 连接器被所有查询淹没了。
我已经更新了我的脚本,以便每个线程都有自己的连接器。到目前为止一切顺利。