Upgrade auf Oracle-JDBC-thin-Treiber-Ergebnisse in SQLException: Unerwartete Ausnahme beim eintragen XAConnection

Upgrade auf Oracle-JDBC-thin-Treiber-Ergebnisse in SQLException: Unexpected exception while enlisting XAConnection (WebLogic Server 10.0, oracle-version ) wir sind immer die Fehler unten aufgeführt.

Wir folgten Oracle Beratung

  1. ändern globaler timeout in weblogic, d.h. Für die JDBC-Connection-Pools, die XASetTransactionTimeout zu true und XATransactionTimeout auf null
    Wenn dieser parameter auf null eingestellt ist, die XAResource-Session-Timeout wird festgelegt, um die Globale Transaktion-timeout.
    Damit die Zeit auf der WLS muss geändert werden,
  2. Wenn das Problem weiterhin bestehen bleibt, kann vermieden werden, indem KeepXAConnTillTxComplete="true".

    Datenbank Produkt-Version : Oracle9i Enterprise Edition Release 9.2.0.5.0 - Produktion Mit der Partitionierung, OLAP and Oracle Data Mining options JServer Release 9.2.0.5.0 - Produktion

    JDBC Driver Name : JDBC-Treiber für Oracle

    JDBC-Treiber Version : 11.1.0.7.0-Produktion

Wir wissen, eine option nicht zu verwenden, eine XA-Verbindung, aber in unserem Fall ist nicht eine Möglichkeit. Wir defenitly verwenden müssen XA-verbindungen.

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)
Nur Kontrolle, aber Sie sind sicher, Sie müssen XA-verbindungen? Sie sind viel komplexer als die normalen JDBC, verwenden Sie Sie nicht, es sei denn, Sie wirklich brauchen, um.
Ja, wir defenitly verwenden müssen XA-verbindungen.

InformationsquelleAutor mrjohn | 2010-08-30

Schreibe einen Kommentar