Searching the web, I have found the following *possible* causes. Which one
may be the actual cause of my problem I don't yet know.

The problem is actually manifested deep in the Torque library classes,
which I cannot see. Maybe some of the maintainers can check wether any of
these possible causes are actually present in the Torque base code.


ORA-01453 SET TRANSACTION must be first in transaction


1.    After diagnosing the code I found in one place after getting the
connection we change the transaction type and before closing the connection
we are setting it back to original transaction type. After commenting that
code I never got that error.
2.    I was able to fix the database problem by changing the datasource
configuration from "serializable" to "read committed".
3.    In the connection pool setting in Admin server under the section
Transaction Isolation deselect the option "Guarantee Isolation Level" .This
should solve the problem.
4.    Oracle works fine (except for a certain quirk when checking existing
= tables) as long as no tx isolation is set. [snip] Oracle seems to do best
with only one or two of = the possible isolation levels anyway.
From: Gavin King
Subject: Re: [Hibernate] HELP: Hibernate and Oracle
Date: Fri, 22 Nov 2002 15:41:22 +0100 (CET)

--------------------------------------------------------------------------------


I've never seen this problem before, but it looks like Oracle doesn't like
the idea of calling

Connection.setTransactionIsolation()

after callong

Connection.setAutocommit(false)

This is not a problem for other platforms, but I will swap the order
anyway.. The entire message can be viewed here:
http://www.mail-archive.com/hibernate-devel@lists.sourceforge.net/msg00827.html


5. I saw -->
http://edocs.bea.com/wls/docs70/jta/thirdpartytx.html
WHICH STATES
----------------------------------------------------------------------------
-----------------------
Description
Oracle Bug
Comments/Workarounds for WebLogic Server

ORA-01453 - SET TRANSACTION must be first statement of transaction


When using the Oracle Thin/XA 8.1.7 driver, you cannot change the
transaction isolation level for a transaction. Transactions use the default
transaction isolation as set for the database.






|---------+---------------------------->
|         |           "Thomas Fischer" |
|         |           <[EMAIL PROTECTED]|
|         |           u.net>           |
|         |                            |
|         |                            |
|         |           21-Jan-2005 13:45|
|         |           Please respond to|
|         |           "Apache Torque   |
|         |           Users List"      |
|         |           <[EMAIL PROTECTED]|
|         |           pache.org>       |
|         |                            |
|---------+---------------------------->
  
>-------------------------------------------------------------------------------------------------------------------------|
  |                                                                             
                                            |
  |                                                                             
                                            |
  |                                                                             
                                            |
  |       To:      "Apache Torque Users List" <torque-user@db.apache.org>       
                                            |
  |                                                                             
                                            |
  |       cc:                                                                   
                                            |
  |       Subject: Re: SET TRANSACTION must be first statement of transaction   
                                            |
  
>-------------------------------------------------------------------------------------------------------------------------|








Hi,

if you find out anything about the error please post it here. I remember
this problem was reported before to the users list but I do not remember
that the problem was solved.

You can try to log the SQL statements via P6Spy:
http://wiki.apache.org/db-torque/FrequentlyAskedQuestions#head-4658ec85746ef90e0d810fb85fd135d9dd30e264


I have never done this myself, though, so no idea whether this can help
you.

    Thomas



[EMAIL PROTECTED] schrieb am 21.01.2005 10:49:48:

> I have just recently started getting the error 'SET TRANSACTION must be
> first statement of transaction' from my application. The error occurs on
> Torque calls that are not using transactions. Can anyone suggest possible
> causes? The application was working fine, so I presume that some change
> that I made caused this. I am running Torque 3.1 with Oracle 9 on Solaris
> and Linux. The base installation has not changed for some months.
>
> I have checked that all transactions are properly committed/rolled  back;
> tried changing 'testOnBorrow' from 'true' to 'false'. Are there any more
> usual suspects that I ought to investigate?
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]









---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to