2010-08-30 67 views
3

在升級到Oracle JDBC瘦驅動程序導致SQLException: Unexpected exception while enlisting XAConnection(WebLogic Server 10.0,oracle版本)時,我們得到下面列出的錯誤。升級到Oracle JDBC瘦驅動程序導致SQLException:引入XAConnection時出現意外異常

我們的確遵循了Oracle的建議

  1. 變化在WebLogic全局超時,即JDBC連接池設置XASetTransactionTimeouttrueXATransactionTimeout零 當該參數設置爲零,XAResource的會議超時將被設置爲全局事務超時。 因此,WLS上的超時時間需要修改
  2. 如果問題仍然存在,可以通過設置KeepXAConnTillTxComplete="true"來避免。

    數據庫產品版本:Oracle9i企業版發行9.2.0.5.0 - 生產有了分區,OLAP和Oracle數據挖掘選項JServer等版本9.2.0.5.0 - 生產
    JDBC驅動程序名稱:Oracle JDBC驅動程序
    JDBC驅動程序版本:11.1.0.7.0-生產

我們知道一個選項不是使用XA連接,但在我們的情況下,這是不可能的。我們肯定需要使用XA連接。

java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_PROTO start() failed on resource 'serviceDataSource': XAER_PROTO : Routine was invoked in an inproper context 
oracle.jdbc.xa.OracleXAException 
     at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1101) 
     at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:237) 
     at weblogic.jdbc.wrapper.VendorXAResource.start(VendorXAResource.java:50) 
     at weblogic.jdbc.jta.DataSource.start(DataSource.java:696) 
     at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1183) 
     at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1116) 
     at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275) 
     at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:508) 
     at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:435) 
     at weblogic.jdbc.jta.DataSource.enlist(DataSource.java:1407) 
     at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1331) 
     at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:426) 
     at weblogic.jdbc.jta.DataSource.connect(DataSource.java:383) 
     at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:339) 
+0

只需檢查,但您確定需要XA連接?它們比普通的JDBC複雜得多,除非你真的需要,否則不要使用它們。 – skaffman 2010-08-30 20:40:05

+0

是的,我們肯定需要使用XA連接。 – mrjohn 2010-08-31 13:13:27

回答

0

經過Oracle的諮詢,我們決定將驅動程序升級到最新的驅動程序。這似乎解決了這個問題。

相關問題