我间歇性地得到以下错误.
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
数据库:Oracle9i
JDBC驱动程序:10.2.0.4.0
开发环境:Mule 3.0,Spring 3.0和Hibernate 3
解决方法:
“OALL8处于不一致状态”是JDBC 10.1,10.2和11.1中发生的一般异常.它表示在JDBC连接中检测到内部不一致,但它不提供导致不一致的原因的信息. JDBC 11.2中不再出现该异常.
该错误通常是由JDBC代码中的错误引起的.这些很难分析.最简单的解决方案是升级JDBC驱动程序.