python导入pandas数据到db2数据库,Python/Pandas使用ibm的db将数据帧插入DB2表中

在尝试将大约50%的记录插入IBM DB2数据库时,程序执行突然中止。错误信息显示为Error1064,提示一个主机变量的值超出范围(SQLCODE=-302)。这表明在执行批量INSERT语句时,某个参数值不符合数据库字段的限制。
摘要由CSDN通过智能技术生成

在执行代码时,将近50%的总记录被插入。所有提到的程序突然停止

代码:conn = ibm_db.connect('DRIVER={IBM DB2 DRIVER};DATABASE=DEV;HOSTNAME=cloud.ibm.com;PORT=30000;PROTOCOL=TCPIP;UID=userid;pwd=password','','')

conni = ibm_db_dbi.Connection(conn)

subset = df[['col1', 'col2', 'col3', 'col4', 'col5',

'col6', 'col7', 'col8', 'col9']]

tuple_of_tuples = tuple([tuple(x) for x in subset.values])

load_db2_sql = "INSERT INTO edw.DETAILS VALUES(?,?,?,?,?,?,?,?,?)"

stmt = ibm_db.prepare(conn, load_db2_sql)

ibm_db.execute_many(stmt, tuple_of_tuples)

错误:Error 1064: Value parameters array 3386 is not homogeneous with

previous parameters array

SQLCODE=-302 BM][CLI Driver][DB2/LINUXX8664] SQL0302N The value of a

host variable in the EXECUTE or OPEN statement is out of range for its

corresponding use. SQLSTATE=22001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值