Re: Oracle JDBC, SQLException, COMMIT is not allowed in a subordinate session

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Jim Kennedy

    Re: Oracle JDBC, SQLException, COMMIT is not allowed in a subordinate session

    ALL DDL does a commit. Hence Drop Table movies; issues a commit. True you
    don't issue a commit and the driver does not issue a commit, but the server
    does for all DDL.
    That is probably where your commit is coming from.
    Jim

    --
    Replace part of the email address: kennedy-down_with_spamm ers@attbi.com
    with family. Remove the negative part, keep the minus sign. You can figure
    it out.
    "Anonymous" <qcircuit@yahoo .comwrote in message
    news:3cef1aeb.0 307191124.21f01 6a4@posting.goo gle.com...
    My configuration:
    >
    1) IBM Websphere 5.0.2
    2) database: Oracle9i release 2
    3) Oracle JDBC DataSource, with XA enabled
    4) driver class: oracle.jdbc.xa. client.OracleXA DataSource
    5) a servlet that uses JTA UserTransaction 's
    >
    When I execute "DROP TABLE movies", the Oracle JDBC
    driver throws a SQLException.
    >
    The exception message is
    >
    ORA-02089: COMMIT is not allowed in a subordinate session
    >
    Oracle's documentation says:
    >
    {{
    >
    ORA-02089: COMMIT is not allowed in a subordinate session
    >
    Cause: COMMIT was issued in a session that is not the two-phase commit
    global coordinator.
    >
    }}
    >
    The strange thing is that I my code does not issue a COMMIT
    >
    Also, I disabled autocommit by calling
    >
    conn.setAutoCom mit(false)
    >
    Here is the stack trace:
    >
    [7/19/03 12:10:02:936 PDT] 587e316 SystemErr R strMsg =
    java.sql.SQLExc eption: ORA-02089: COMMIT is not allowed in a
    subordinate session
    >
    >
    at oracle.jdbc.dba ccess.DBError.t hrowSqlExceptio n(DBError.java: 134)
    >
    at oracle.jdbc.ttc 7.TTIoer.proces sError(TTIoer.j ava:289)
    >
    at oracle.jdbc.ttc 7.Oall7.receive (Oall7.java:579 )
    >
    at oracle.jdbc.ttc 7.TTC7Protocol. doOall7(TTC7Pro tocol.java:1894 )
    >
    at oracle.jdbc.ttc 7.TTC7Protocol. parseExecuteFet ch(TTC7Protocol .java:1094)
    >
    at
    oracle.jdbc.dri ver.OracleState ment.executeNon Query(OracleSta tement.java:213 2
    )
    >
    at
    oracle.jdbc.dri ver.OracleState ment.doExecuteO ther(OracleStat ement.java:2015 )
    >
    at
    oracle.jdbc.dri ver.OracleState ment.doExecuteW ithTimeout(Orac leStatement.jav a
    :2877)
    >
    at oracle.jdbc.dri ver.OracleState ment.execute(Or acleStatement.j ava:925)
    >
    at
    com.ibm.ws.rsad apter.jdbc.WSJd bcStatement.exe cute(WSJdbcStat ement.java:299)
    >
    at foobar.movie.Mo vieUtil.setupMo vieTable(MovieU til.java:66)

Working...