数据库升级到10g后,程序报错,数组越界

sunnylion00 2009-08-03 02:27:03
如图,升级后,以往正常的程序,报错如下:
java.lang.ArrayIndexOutOfBoundsException: -32233
at oracle.jdbc.driver.OraclePreparedStatement.setupBindBuffers(OraclePreparedStatement.java:2672)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10688)
at weblogic.jdbc.wrapper.PreparedStatement.executeBatch(PreparedStatement.java:186)
at com.sinosoft.lis.vdb.LIAboriginalDataDBSet.insert(LIAboriginalDataDBSet.java:1009)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sinosoft.lis.pubfun.PubSubmit.saveData(PubSubmit.java:338)
at com.sinosoft.lis.pubfun.PubSubmit.submitData(PubSubmit.java:53)
at com.sinosoft.lis.taskservice.XQInterFaceService.RunInterfaceService(XQInterFaceService.java:126)
at com.sinosoft.lis.taskservice.XQInterFaceService.run(XQInterFaceService.java:44)
at java.lang.Thread.run(Thread.java:534)

在(PubSubmit)中抛出如下错误:执行插入语句失败

求高手指点。谢谢。
...全文
205 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunnylion00 2009-08-05
  • 打赏
  • 举报
回复
最后问题找到了,用得数据库是10.0.2.0.4版本的,是class12.jar 和ojdbc14.jar需要打补丁。而官方补丁还有bug,要查metalink里面得祥解。折腾死了。
inthirties 2009-08-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sunnylion00 的回复:]
并不是一运行就失败,而是没次都能成功提交1到2次,之后就报错。紧急求救。现在都没有办法确定到底是程序错误还是数据库版本导致的。
[/Quote]

这里还没有报ORA的错误,所以应该是jdbc这段的问题了,检查一下你的程序,同时jdbc的driver确定是用的同一个版本的,最好是从服务器的目录里copy一个处出来,用ojdbcXXX.jar这样的。
sunnylion00 2009-08-03
  • 打赏
  • 举报
回复
并不是一运行就失败,而是没次都能成功提交1到2次,之后就报错。紧急求救。现在都没有办法确定到底是程序错误还是数据库版本导致的。
sunnylion00 2009-08-03
  • 打赏
  • 举报
回复
程序就是一个循环批量执行插入,每1000条插入一次。单个的插入语句是没有问题的。
sunnylion00 2009-08-03
  • 打赏
  • 举报
回复
是从oracle网站下的最新的class12类包,我打算重新下一个,再替换一次试试
qzn2008 2009-08-03
  • 打赏
  • 举报
回复
将sql 脚本在数据库执行以下,看看报错吗? 如果不报,就是java问题了。
majy 2009-08-03
  • 打赏
  • 举报
回复
class12类包升级一下,到oracle的安装目录下看看
sunnylion00 2009-08-03
  • 打赏
  • 举报
回复
jdbc的版本升级了。是还有其他要升级的吗?在什么地方能找到?
majy 2009-08-03
  • 打赏
  • 举报
回复
你程序里引用的跟oracle相关的java 类库跟着升级了吗?
sunnylion00 2009-08-03
  • 打赏
  • 举报
回复
以前数据库是9i的。
sunnylion00 2009-08-03
  • 打赏
  • 举报
回复
在线等答案。
本来打算等录完教程在开源,后来发现实在是没时间,怕大家等不及,先开源了再说吧。大家先拿去研究,等我忙完这一阵有时间了录一个流程讲解,方便大家修改源码! 下面大概给大家介绍下服务器和客户端的交互流程 服务器线程分类:玩家更新,怪物更新,数据接收,地图更新,数据库,界面更新,网管接收 玩家类里的更新和怪物类里的更新大致一样,是操作攻击是否击中,掉血计算,buff到期时间等不是立即生效的东西都在更新里。 服务器的设计思路比较清楚,所以还未见过内存方面报错数组越界有可能会有,比如部分玩法,目前不稳定的都关闭了暂时没时间修复,大家可以自己动手) 暂时关闭的不稳定玩法:行会争霸,团战(尚未测试),摆摊,交易系统。 玩家视野我设计的是每个地图格子一个整数数组存放玩家或怪物编号,怪物编号以>0开始,玩家以<0开始,每次移动都会去地图类里取视野 另外服务器上的菜单:刷怪控制、管理这两个尚未测试应该有bug,自己注意修复一下 本服务器设计的非常安全,不会有任何变态挂,加速挂,锁血挂等出现,因为所有计算都是在服务器上完成的,计算效率也是杠杆的 不过有人可能说效率不行呀 cpu太高,带几十个人就卡了。那是因为 易语言 在源码调试下运行本身就会慢5-10倍左右,所以测试性能建议编译后在试试 另外微端的事情我说一下,大家直接把RES资源下载到客户端目录下,然后屏蔽微端连接,就可以了,不需要微端了就,但是需要下载好整个游戏就行了 上一个客户端版本我附带在这里大家可以去下载: https://bbs.125.la/forum.php?mod=viewthreadtid=14496289 讨论易语言游戏制作和发展的 QQ群:336787216 ,欢迎一起携手造就易语言游戏的未来,个人认为易语言写游戏真的很容易。主要是引擎非常效率,引擎用的是凤影龙鸣作者封装的

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧