What is the autocommit option on or off at the dbend
----- Original Message -----
From: "Hemant Arora" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, June 19, 2002 1:46 PM
Subject: Transaction in SFSB


> Hi Ashwin
>
> Sorry for yesterday's mail.
>
> Actually I forgot to write some details of the transactions in my code
>
> Please find the latest code
>
> I do not have the "Account" table in my database
>
> so when I try to inseret the 2 queries
>
> then the second one should fail as its happening and the first insert
> should rollback as there is
>
> Sql exception in the second query
>
> The weblogic console shows this error which is correct as per my
> understanding
>
> Wed Jun 19 12:42:35 GMT+05:30 2002:<I> <EJB JAR deployment
> d:/weblogic/myserver/romanCount.jar> Transaction: '1024470662649_3' rolled
> back due to EJB excep
> tion:
> java.rmi.RemoteException: ORA-00942: table or view does not exist
>         at
>
com.wiley.compBooks.roman.session.Count.CountBean.dbconnection(CountBean.jav
a:88)
>         at
>
com.wiley.compBooks.roman.session.Count.CountBeanEOImpl.dbconnection(CountBe
anEOImpl.java:148)
>         at
>
com.wiley.compBooks.roman.session.Count.CountBeanEOImpl_WLSkel.invoke(CountB
eanEOImpl_WLSkel.java:83)
>         at
>
weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
pter.java:338)
>         at
>
weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
r.java:69)
>         at
>
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
5)
>         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
>
> but when i see the database table "Accounts" The record does exists , it
> should have been rolled back
>
> Any help
>
> Regards
> Hemant
>
>
> package com.wiley.compBooks.roman.session.Count;
>
> import javax.ejb.*;
> import java.sql.Connection;
> import java.sql.PreparedStatement;
> import java.sql.ResultSet;
> import java.sql.SQLException;
> import java.sql.*;
> import javax.naming.NamingException;
> import javax.naming.InitialContext;
> import javax.transaction.UserTransaction;
> import javax.sql.DataSource;
> import java.rmi.RemoteException;
> import java.io.*;
>
> /**
>  * Demonstration Stateful Session Bean.  This Bean is initialized
>  * to some integer value, and has a business method which
>  * increments the value.
>  *
>  * This example shows the basics of how to write a stateful
>  * session bean, and how passivation/activation works.
>  */
> public class CountBean implements SessionBean{
>
>      SessionContext ctx;
>      // The current counter is our conversational state.
>      public int val;
>
>      //
>      // Business methods
>      //
>
>      /**
>       * Counts up
>       */
>      public int count() {
>           System.out.println("count()");
>           return ++val;
>      }
>
>      /**
>       * Counts up
>       */
>      public String dbconnection() throws RemoteException,SQLException
>      {
>           InitialContext initCtx = null;
>           DataSource ds = null;
>           System.out.println("INSIDE dbconnection");
>           String strGotit = "";
>                Connection con = null;
>                PreparedStatement stmt = null;
>                PreparedStatement stmt1 = null;
>
>           try
>           {
>
>                initCtx = new InitialContext();
>                ds = (javax.sql.DataSource)
>                initCtx.lookup("oraclePool");
>              con = ds.getConnection();
>
>                 stmt = con.prepareStatement("insert into accounts
> (id,name,balance) values(?,?,?) ");
>
>              stmt.setInt(1,1);
>              stmt.setString(2,"Tester 1");
>              stmt.setInt(3,1212);
>
>              if(stmt.executeUpdate() != 1){
>                          throw new RemoteException("Insert Failed");
>                 }
>
>              stmt1 = con.prepareStatement("insert into account
> (id,name,balance) values(?,?,?) ");
>
>              stmt1.setInt(1,2);
>              stmt1.setString(2,"Tester 2");
>              stmt1.setInt(3,1212);
>
>              if(stmt1.executeUpdate() != 1){
>                          throw new RemoteException("Insert Failed");
>                 }
>
>
>           }catch(javax.naming.NamingException ne){
>                     throw new EJBException(ne);
>           }catch(SQLException sqe)
>           {
>                throw new RemoteException(sqe.getMessage());
>           }
>           finally
>           {
>                try
>                {
>                                    stmt.close();
>                                    stmt1.close();
>                                    con.close();
>
>                     if(initCtx != null)
>                          initCtx.close();
>                     file://return ds.getConnection();
>                }
>                catch(NamingException ne)
>                {
>                     file://log("Error closing context: " + ne);
>                     throw new EJBException(ne);
>                }
>           }
>
>      return strGotit;
>      }
>
>      //
>      // EJB-required methods
>      //
>
>      public void ejbCreate(int val) throws CreateException {
>           this.val = val;
>           System.out.println("ejbCreate()");
>      }
>
>      public void ejbRemove() {
>           System.out.println("ejbRemove()");
>      }
>
>      public void ejbActivate() {
>           System.out.println("ejbActivate()");
>      }
>
>      public void ejbPassivate() {
>           System.out.println("ejbPassivate()");
>      }
>
>      public void setSessionContext(SessionContext ctx) {
>      }
> }
>
> -----------------------Disclaimer------------------------
>
> The views of the author may not necessarily reflect those
> of the Company. All liability is excluded to the extent
> permitted by law for any claims arising as a result of the
> use of this medium to transmit information by or to
> IT Solutions (India) Pvt. Ltd.
>
> We have taken precautions to minimize the risk of
> transmitting software viruses, but we advise you to
> carry out your own virus checks on any attachment to
> this message.  We cannot accept liability for any loss or
> damage caused by software viruses.
>
> ------------------------Disclaimer------------------------
>
>
===========================================================================
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff EJB-INTEREST".  For general help, send email to
> [EMAIL PROTECTED] and include in the body of the message "help".
>

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to