Java 间歇性 SQLException:OALL8 处于不一致状态
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4211844/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Intermittent SQLException: OALL8 is in an inconsistent state
提问by jai
Am getting the below error intermittently.
我间歇性地收到以下错误。
ERROR Exception occured while fetching the available subscriptions from the database - Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed
Caused by: org.hibernate.TransactionException: JDBC rollback failed
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:204)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:676)
... 80 more
Caused by: java.sql.SQLException: No more data to read from socket
java.sql.SQLException: Closed Connection
ERROR org.hibernate.transaction.JDBCTransaction 17/11/2010 20:49:41 - JDBC rollback failed
java.sql.SQLException: Io exception: Broken pipe
ERROR org.springframework.transaction.interceptor.TransactionInterceptor 17/11/2010 20:49:41 - Application exception overridden by rollback exception
org.hibernate.exception.GenericJDBCException: could not execute query
java.sql.SQLException: OALL8 is in an inconsistent state
Database: Oracle9i
数据库:Oracle9i
JDBC Driver: 10.2.0.4.0
JDBC 驱动程序:10.2.0.4.0
Developement environment: Mule 3.0, Spring 3.0 and Hibernate 3
开发环境:Mule 3.0、Spring 3.0、Hibernate 3
采纳答案by Rob van Laarhoven
"OALL8 is in an inconsistent state" is a generic exception that occurs in JDBC 10.1, 10.2, and 11.1. It indicates that an internal inconsistency has been detected in the JDBC connection but it does not provide information on what caused the inconsistency. The exception no longer occurs in JDBC 11.2. The error is usually caused by a bug in the JDBC code. These are very hard to analyze. The simplest solution is to upgrade the JDBC driver.
“OALL8 处于不一致状态”是 JDBC 10.1、10.2 和 11.1 中发生的一般异常。它表示在 JDBC 连接中检测到内部不一致,但它不提供有关导致不一致的原因的信息。JDBC 11.2 中不再出现该异常。该错误通常是由 JDBC 代码中的错误引起的。这些都很难分析。最简单的解决方案是升级JDBC驱动程序。