Exception:[IBM][CLI Driver] CLI0124E Invalid argument value.SQLSTATE=HY009 SQLCODE=-99999

最近工作的时候,要将数据逐条插入到db2数据库里面,我使用的是db2的python接口ibm_db,然而我要运行的sql语句里面有中文。我开始用得python3.6,发现没有这个问题。但是因为历史原因,代码需要用python2.7跑,结果再跑同样得sql语句得时候,出现了上面这个错误。

out_stmt = ibm_db.exec_immediate(conn,out_sql)

真的是太坑爹了,百度了半天没有解决办法。

然后偶然在Google上面得一个小角落发现了10年有人输入俄文的时候,碰到的同样的问题。上面说出现这个问题是因为you got this error because your update sql contains some non ASCII characters。sql语句里面有一些不是ASCII字符,所以会出现这个问题。

然后上面也给出了解决方案,因为我的sql语句是utf-8编码的,所以把上面的sql语句改为:

out_stmt = ibm_db.exec_immediate(conn,unicode(out_sql,"utf-8"))

然后问题就解决了,开森。

最后贴一下google链接吧https://groups.google.com/forum/#!topic/ibm_db/c77sQFUyJkM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值