db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raphael.X.Mankin%...@gsk.com
Subject Re: SET TRANSACTION must be first statement of transaction
Date Mon, 24 Jan 2005 09:40:01 GMT
We are on Oracle 9.2.0/Linux. I am using oracle.jdbc.dirver.OracleDriver
from ojdbc14.jar as the driver library wiith the 'thin' connection, and
have been running without problems, at least none that were not of my own
making, for close on a year. classes12.jar does not work at all for me. The
pool is SharedPoolDataSource.



I quite agree that this is almost certainly an Oracle rather than a Torque
problem. However the references I dug out suggest that there are
work-arounds one can put into the Torque code that would avoid at least
some instances of this problem. It is worth looking at the Torque code to
see whether those work-arounds are actually in place.

In view of the length of time that my project has been running, my first
thought was, of course, that *I* had done something silly, but I really
cannot see what I might have done to cause this to happen.



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








raphael,

which oracle version / driver / connection pool are you using ? My first
guess would be that this is a problem of the connection pool rather than of
torque.

  Thomas

raphael.x.mankin@gsk.com schrieb am 21.01.2005 15:20:09:

> 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" |
> |         |           <Fischer@seitenba|
> |         |           u.net>           |
> |         |                            |
> |         |                            |
> |         |           21-Jan-2005 13:45|
> |         |           Please respond to|
> |         |           "Apache Torque   |
> |         |           Users List"      |
> |         |           <torque-user@db.a|
> |         |           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
>
>
>
> raphael.x.mankin@gsk.com 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: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>
>
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org









---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Mime
View raw message