在python中使用多线程写入db2时出错

问题描述 投票:0回答:1

我正在使用 ibm_db python 库将数据插入 db2。 当只有一个线程时,一切都工作正常。当我开始使用多线程来加速写入 db2 时,我开始收到错误:

异常:[IBM][CLI 驱动程序] SQL0902C 发生系统错误。 无法处理后续的 SQL 语句。 IBM 软件支持 原因代码:“”。 SQLSTATE=58005 SQLCODE=-902

我的单线程代码是这样的:

def process_user(user):
   ....
   sqlstr = "insert into ..."
   ibm_db.exec_immediate(db2conn, sqlstr)
   return 1 

for user in users:
   n += process_user(user)

我使用多线程的代码是:

from multiprocessing import Pool
def process_user(user):
   ....
   sqlstr = "insert into ..."
   ibm_db.exec_immediate(db2conn, sqlstr)
   return 1 


pool = Pool(20)
nusers = len(pool.map(process_user, users))

我的问题是使用多线程向db2插入数据的正确方法是什么?

python multithreading db2
1个回答
0
投票

这个问题你解决了吗?我现在面临着完全相同的问题

© www.soinside.com 2019 - 2024. All rights reserved.