首页 > 解决方案 > 使用 ibm_db 遍历 python 元组并批量加载到数据库表中

问题描述

我正在尝试使用 ibm_db 迭代元组并将 1000 个批量加载到数据库表中,但我收到了一个奇怪的异常错误。任何人都有类似的问题:

# establishing connection
conn = ibm_db.connect(dsn, "", "")

#making tuple from pandas df
tuple_of_tuples = tuple([tuple(x) for x in df.values])


sql2= "INSERT INTO SCHEMA.TABLE VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"

# function to break down the tuple
def chunks(l, n):
    """Yield successive n-sized chunks from l."""
    for i in range(0, len(l), n):
        yield l[i:i + n]


stmt = ibm_db.prepare(conn, sql2)

for i in chunks(tuple_of_tuples,1000):
    ibm_db.execute_many(stmt,i)
    ibm_db.commit(conn)

我收到以下异常错误,我无法对其进行故障排除或复制:

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-230-29555d56a7ff> in <module>
      1 stmt = ibm_db.prepare(conn, sql2)
      2 for i in chunks(tuple_of_tuples,1000):
----> 3     ibm_db.execute_many(stmt,i)
      4     ibm_db.commit(conn)

Exception: 

标签: python-3.xdb2

解决方案


推荐阅读