db2 数据库操作JDBC .addBatch() 方法执行时,报错排查结果

今天调试db2数据的存储时,jdbc使用addBatch方法时,抛出异常,异常信息如下:

[jcc][1091][10404][3.62.56] 数据转换无效:参数实例  对于所请求的转换无效。 ERRORCODE=-4461, SQLSTATE=42815

db2  显示  SQLSTATE 42815: 数据类型、长度、小数位、值或 CCSID 无效。

根据信息没有得出任何结论,还是没有看出问题,无奈,将每条记录单独执行插入,发现问题:

原因是因为db2数据库addBatch时对jdbc的setString(1,aif.getOKFileFindWeek()) 时, 因aifgetOKFileFindWeek()返回值是空串。

问题就出在这里,db2对addBatch处理,不能使用空串,调整为pres.setString(10, aif.getOKFileFindWeek()  ==  "" ? null : aif.getChildProjectName()); 则正常运行了。

排查问题如斯,很是无解,将此问题分享给大家共勉吧,希望遇到类似错误的兄弟姐妹不要在这里卡太久吧。

快过年了,祝大家新年快乐。

转载于:https://www.cnblogs.com/symbol8888/p/8428361.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值