Forums Register Login

setAutoCommit() problem

+Pie Number of slices to send: Send
hi,
I have code which has the following structure. I am getting a set of rows using the first statement and then executing the individual statements which may be a bunch of inserts, creates or deletes or drops .
I want to commit if everything works or rollback the entire thing if there is an individual error during the execution of one of the statements.
The problem i am facing is when i have a group of inserts and a drop or create , if there is an error create or drop the inserts prior to it are commiting even though setAutoCommit(false) is set but it works fine if all of the statemnts are inserts . I appreciate your valuable suggestions. I am using oracle 9i.

try
{
conn.setAutoCommit(false);
resultset rs = ...;

while(rs.next())
{

try
{

}
catch(Exception e)
{
conn.rollback();
}
} // end of while

}
catch(Exception e1)
{

}

regards
VVS
+Pie Number of slices to send: Send
Sree,
Creates and drops default to autocommit mode regardless of your settings. DDL cannot be part of a transaction.
+Pie Number of slices to send: Send
Hi

Insert, update and delete comes in the data manipulation language category so the auto commit works here

where as the create and drop are data definition language so even if the setautocommit is false any modification done by the create and drop statements are auto committed by default.


Warms regards
Pankaj
Yeah. What he said. Totally. Wait. What? Sorry, I was looking at this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com


reply
reply
This thread has been viewed 662 times.
Similar Threads
Update statement hangs
Non-EJB transaction rollbacks
Pool connection leak error
Exception in Junit
setAutoCommit(false) not working
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 12:18:11.