ソケットとスレッドを使用して10台のサーバがポートに接続できるPythonスクリプトがあります。各サーバーは一連のデータをダンプします。Python pymssql結果が保留中の新しいAdaptive Server操作を開始しようとしました
Pythonスクリプトはデータブロブを取り、サブストリングカウントを行い「カラム」値を取得してから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
スクリプトはクラッシュしません。また、スクリプトはバックグラウンドで実行されているため、またはb)フォアグラウンドでデータを吐き出しても、データがMSSQLにデータを渡すかどうかはわかりません。
このエラーの意味は誰にでも分かりますか?