使用ojdbc14 10.2.0.4 进行批量写入数据到oracle时,写入的字段有140个,每1000条执行一次executeBatch,日志中出现大量异常ArrayIndexOutOfBoundsException信息,具体以下:

java.lang.ArrayIndexOutOfBoundsException: -32377at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2673)at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10689)

从日志信息来看,应该是oralce jdbc驱动内部setupBindBuffers方法中出现了数组越界异常。在网上找到一个帖子,通过他的思路得到了解决方案。

The 10g driver apparently keeps a global serialnumber for all parameters in the entire batch, with a "short"variable. So you can have at most 32768 parameters in the batch. I was havingthe same exception because I have a
 INSERT statement with 42 parameters and mybatches can be as big as 1000 records, so 42000 > 32768 and this overflowsto a negative index. I reduced the batch factor to 100 to be safe, and all iswell. I guess your update DML should have a larger number of parameters
 perrecord, right? (My diagnostic of the bug is just deduction from the symptoms)
地址:https://community.oracle.com/thread/599441?start=15&tstart=0
按照这个思路,将addBatch的数量减少到100,使每次executeBatch的参数值小于32768,发现异常解决。

转载于:https://www.cnblogs.com/zzhuang/p/10608286.html

Oracle executeBatch异常 ArrayIndexOutOfBoundsException相关推荐

  1. oracle数组越界,Oracle executeBatch异常 ArrayIndexOutOfBoundsExcepti

    使用ojdbc14 10.2.0.4 进行批量写入数据到oracle时,写入的字段有140个,每1000条执行一次executeBatch,日志中出现大量异常ArrayIndexOutOfBounds ...

  2. ORACLE 存储过程异常捕获并抛出

    ORACLE 存储过程异常捕获并抛出 参考文章: (1)ORACLE 存储过程异常捕获并抛出 (2)https://www.cnblogs.com/wdw31210/p/7009731.html 备忘 ...

  3. oracle 作业 断开原因,解惑 | Oracle JOB 异常中断原因分析

    注释 今天研发同事找我确认 PKG_WMS.proc_TaskMain 存储的 job 是否还在运行,竟发现 dba_jobs.NEXT_DATE=4000/1/1. 如下看看究竟原因吧~ JOB 信 ...

  4. Oracle入门(十四.15)之捕获Oracle服务器异常

    一.异常类型 本课讨论预定义和非预定义的Oracle服务器异常. (1)使用PL / SQL处理异常 有两种提出异常的方法: •Oracle服务器隐式(自动): - 发生Oracle错误并自动引发相关 ...

  5. ORACLE JOB 失败 查看,Oracle JOB异常中断原因分析

    注释 今天研发同事找我确认 PKG_WMS.proc_TaskMain 存储的 job 是否还在运行,竟发现 dba_jobs.NEXT_DATE=4000/1/1,如下看看究竟原因吧~ JOB 信息 ...

  6. Oracle JOB异常中断原因分析

    链接:http://blog.itpub.net/28602568/viewspace-1731805/ 标题: Oracle JOB异常中断原因分析 作者:lōττéry©版权所有[文章允许转载,但 ...

  7. oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法

    oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法 win7 下   cmd  运行   sqlplus  ...

  8. oracle主键重复异常捕获,Oracle异常处理异常处

    Oracle异常处理异常处理是考验一个应用程序健壮性的最好方式,开发人员必须考虑程序中可能出现的各种错误,并进行相应的处理. Oracle中异常分为:1.预定义异常2.非预定义异常3.自定义异常三种. ...

  9. ORACLE违反协议异常

    记录一次诡异的ORACLE违反协议异常 异常背景 异常原因 解决方案 总结 异常背景 应用正常运行已有一段时间,某天突然出现不能打开oracle数据库连接,sql异常:违反协议 异常原因 oracle ...

最新文章

  1. NET基础(3):is 和 as 操作符
  2. html财务统计,财务统计.html · 珠烟/layuiadmin-templete - Gitee.com
  3. 2017-10-29—英语发音的一些技巧总结
  4. 19道Python练习题
  5. ASP.NET Performance Monitoring, and When to Alert Administrators
  6. shell的数组操作
  7. 程序员一定要知道的11个实用工具网站
  8. 小杜机器人线下店_阿里线下卖车已成事实,阿里造车还会远吗?
  9. ATL中建立消息窗口
  10. 创建一个单选框的html代码是,HTML试题(超有用).doc
  11. [转载]jquery ajax/post/get 传参数给 mvc的action
  12. css3mediaquery移动端网页字体适应屏幕代码
  13. [Matlab]变量,变量名与字符串的互相转换
  14. 徐州有初中计算机编程,徐州初中分布大全(学校+地址+联系方式)
  15. 人行发布2018年度银行科技发展获奖名单
  16. 风变编程——自动化技术和教学的完美融合
  17. 英文科技论文写作与学术报告Lecture1习题答案
  18. [Office] 公务员WPS Excel常用的一些技巧方法
  19. php调用微信公众号支付接口,Thinkphp实现微信公众号支付接口
  20. Ubuntu中Python无法显示图片

热门文章

  1. 【机器学习】样本方差和标准差
  2. 美通社企业新闻汇总 | 2019.1.24 | 美团投110亿扶持商户发展;中海油2019年预计投产6个新项目...
  3. 使用LaTeX制作海报
  4. ubuntu16.04 install opencv、Sohpus、PCL、OctoMap、VTK
  5. 设计模式面试复习,为你的春招做准备!
  6. XX省水资源管理系统实施方案(终版)
  7. Python math.sqrt() 方法
  8. 十几年的学海生涯,我还不会提问_提问的智慧(转)
  9. vue.js根据数据循环生成表格_vue嵌套列循环生成考勤表数据
  10. Linux Java JDK下载及安装