有人可以向我解释这个JDBC Exception吗?
问题描述:
在使用JDBC执行对Oracle数据库的插入时,我得到以下异常。有人可以向我解释这个JDBC Exception吗?
java.sql.SQLRecoverableException: Io exception: Unexpected packet
什么会导致这种情况,我该如何恢复?
我正在写的应用程序执行一个很大的更新快速连续更新数据库。从例外情况来看,我认为这是一个网络问题,但数据库与我的应用程序位于同一个框中。
我没有堆栈跟踪,这是那些恼人的一个“作品在我的机器”里,当我把它放在一个客户端站点它Borks问题”。
不幸的是我得扔一起来解决这个问题/诊断,但客户端站点只在下午5点和晚上9点之间向我的应用程序抛出数据,当我不在办公室时...
我有几个小时来计算我的意外虽然...
任何想法。
问题解决:
这是一个同步问题。
答
你是否有任何机会使用多个线程并忘记了同步?
答
听起来像一个驱动程序问题,是否有更新的驱动程序为您正在使用的服务器版本?另外,请确保您的类路径中没有旧版本的ojdbc jar。
答
批次中有多少个插入?
在某些情况下,建议在事务中具有提交阈值。如果您正在进行交易,您应该注意这一点。
btw,任何堆栈的痕迹?
您是否找到针对您的问题的解决方案?它与多线程有关吗? – paweloque 2012-01-16 12:55:09
我很确定我解决了这个问题,这是因为有多个线程使用相同的驱动程序。 – 2012-01-17 15:33:40