【问题标题】:Can someone explain this JDBC Exception to me?有人可以向我解释这个 JDBC 异常吗?
【发布时间】:2010-10-04 22:02:03
【问题描述】:

使用 JDBC 向 Oracle 数据库执行插入操作时出现以下异常。

java.sql.SQLRecoverableException: Io exception: Unexpected packet

什么可能导致这种情况,我该如何从中恢复?

我正在编写的应用程序快速连续地对数据库执行大量更新。从例外情况来看,我认为这是一个网络问题,但是数据库与我的应用程序在同一个盒子上。

我没有堆栈跟踪,这是令人讨厌的“在我的机器上工作”问题之一,当我将它放在客户端站点上时它会出现问题。

不幸的是,我必须整理一些可以解决此问题/诊断问题的方法,但客户端站点仅在我不在办公室时的下午 5 点到晚上 9 点之间将数据发送到我的应用程序...

不过,我有几个小时的时间来解决我的意外情况......

任何想法。

问题已解决:

这是一个同步问题。

【问题讨论】:

  • 任何未关闭的游标/结果集?
  • 没有结果集,它是一个仅插入的系统。另一个系统接收数据......假设它曾经到达那里...... :(
  • 您找到解决问题的方法了吗?是否与多线程有关?
  • 我很确定我解决了这个问题,这是因为有多个线程使用同一个驱动程序。

标签: java oracle exception jdbc


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      一个批次有多少插入?

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

      顺便说一句,任何堆栈跟踪?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-14
        • 2014-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-07
        相关资源
        最近更新 更多