2009-02-02 100 views
1

在使用JDBC执行对Oracle数据库的插入时,我得到以下异常。有人可以向我解释这个JDBC Exception吗?

java.sql.SQLRecoverableException: Io exception: Unexpected packet 

什么会导致这种情况,我该如何恢复?

我正在写的应用程序执行一个很大的更新快速连续更新数据库。从例外情况来看,我认为这是一个网络问题,但数据库与我的应用程序位于同一个框中。

我没有堆栈跟踪,这是那些恼人的一个“作品在我的机器”里,当我把它放在一个客户端站点它Borks问题”。

不幸的是我得扔一起来解决这个问题/诊断,但客户端站点只在下午5点和晚上9点之间向我的应用程序抛出数据,当我不在办公室时...

我有几个小时来计算我的意外虽然...

任何想法。

问题解决:

这是一个同步问题。

+0

您是否找到针对您的问题的解决方案?它与多线程有关吗? – paweloque 2012-01-16 12:55:09

+0

我很确定我解决了这个问题,这是因为有多个线程使用相同的驱动程序。 – 2012-01-17 15:33:40

回答

5

你是否有任何机会使用多个线程并忘记了同步?

1

听起来像一个驱动程序问题,是否有更新的驱动程序为您正在使用的服务器版本?另外,请确保您的类路径中没有旧版本的ojdbc jar。

0

批次中有多少个插入?

在某些情况下,建议在事务中具有提交阈值。如果您正在进行交易,您应该注意这一点。

btw,任何堆栈的痕迹?

相关问题