• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

setAutoCommit() problem

 
sudip narayan
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 34198
340
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sree,
Creates and drops default to autocommit mode regardless of your settings. DDL cannot be part of a transaction.
 
pankaj patil
Ranch Hand
Posts: 98
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic