使用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,发现异常解决。

来源:oschina

链接:https://my.oschina.net/u/4396169/blog/3596557

oracle数组越界,Oracle executeBatch异常 ArrayIndexOutOfBoundsExcepti相关推荐

  1. oracle数组越界,为什么栈中的数组越界后经常不崩溃,还可以正常的操作呢

    使用数组也是家常便饭,但是经常出现越界使用数组也能编译通过的奇怪问题,和我们书中学习的很不一样,怎么折腾也不知道为什么,郁闷了吧!哈哈哈,别慌,这里就给你答案啦. 函数中分配的数组,不是使用动态分配的 ...

  2. Oracle executeBatch异常 ArrayIndexOutOfBoundsException

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

  3. mybatis数组越界异常 Error preparing statement

    mybatis数组越界异常 今天在做数据库迁移时遇到这个问题:Error preparing statement. Cause: java.lang.ArrayIndexOutOfBoundsExce ...

  4. java 数组越界异常_数组越界异常 求解决!!!

    源自:4-3 滚动状态判断与处理 数组越界异常 求解决!!! package com.example.imooc; import java.io.BufferedInputStream; import ...

  5. cstring越界_try catch 捕捉数组越界异常

    各位大牛,小弟又碰到问题了,捕捉数据越界异常,本人的代码是这样的 int func1() { char a[8] = { 0 }; a[10] = "9"; //此处数组越界 re ...

  6. oracle insert 数组,oracle 数组 批量insert

    场景:[转]jdbc批量insert---oracle数组类型与forall的使用 [转]jdbc批量insert---oracle数组类型与forall的应用 原文:http://blog.itpu ...

  7. oracle 数组类型

    http://fxz-2008.iteye.com/blog/469766 oracle数组例子 博客分类: Oracle Oracle Pl/sql代码   --固定数组 declare type  ...

  8. oracle数据库监听频道异常,数据库监听不定期出现异常故障处理

    故障现象: 数据库监听不定期出现异常,从应用tnsping数据库,时间花费很长甚至连不上 故障分析处理过程: 从应用主机tnsping如下: racdb1_scenemon$tnsping racdb ...

  9. 墨菲定律与 IndexOutOfBoundsException(数组越界异常)

    墨菲定律与 IndexOutOfBoundsException(数组越界异常) 参考文章: (1)墨菲定律与 IndexOutOfBoundsException(数组越界异常) (2)https:// ...

最新文章

  1. Android系统匿名共享内存Ashmem(Anonymous Shared Memory)驱动程序源代码分析
  2. Linux内核调试debugfs
  3. 课程作业01——从命令行接收多个数字,求和之后输出结果
  4. 暑假周进度总结报告2
  5. LINUX下载编译opusfile/opus-tools
  6. robocopy 备份_windows下使用RoboCopy命令进行文件夹增量备份
  7. 求解平稳分布matlab,生灭过程的拟平稳分布
  8. 计步算法 睡眠 心率 学习 PPG传感器(转))
  9. Photoshop:如何使图片覆盖在文字上以及一种海报效果实现
  10. 阿里云通过镜像迁移系统后,项目报异常Unable to set localhost. This prevents creation of a GUID...
  11. ios开发工程师常见面试题汇总
  12. 笔记:毫米波雷达传感器,优势、应用和产业规模
  13. C#编程-47:选择类控件复习笔记
  14. 增加php的amqp扩展
  15. 【人工智能 Open AI】2023年 RPA 机器人流程自动化行业研究报告
  16. NDK at ...Android\Sdk\ndk\21.1.6528147 did not have a source.properties file
  17. 常见排序算法总结(实现原理,稳定度,使用场景,时间复杂度)
  18. 智能餐厅摆动手势点餐人脸识别支付
  19. 九州计算机入职培训总结,【精华】银行培训心得体会四篇
  20. 差旅费用管理:苦海无边,Concur是岸

热门文章

  1. oracle expdp impdp 数据迁移 备份恢复某个用户数据
  2. 没有防毒软件的iOS,还安全么?
  3. 计算机软件在数学课上的使用,计算机在小学数学中的应用
  4. 评价模型TOPSIS法的计算--基于Excel
  5. BetterAndBetter 2.2.2 全局手势多功能软件
  6. Rank函数+中国式排名+PercentRank函数+lookup(根据占比划分等级)
  7. golang 实践配合 php 进行 web 开发,golang 适合做web开发吗
  8. 关于CE使用的详细教程
  9. 一文了解Beautiful Soup基本和高级用法
  10. Ubuntu部署mediasoup