Got thru the exception, by setting the alternate ejb-ql for Oracle in the deployment plan.

 

But now I am facing this exception:

 

 

 

332604 ERROR [http-0.0.0.0-8081-Processor23]                           Transaction       - Unexpected exception rolling back org.apache.geronimo.connector.outbound.LocalXAResource@1cbbbe6d; continuing with rollback

 javax.transaction.xa.XAException

            at org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88)

            at org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:542)

            at org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:446)

            at org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:155)

            at org.apache.geronimo.transaction.manager.TransactionManagerImpl$$FastClassByCGLIB$$14ee5fe0.invoke(<generated>)

            at net.sf.cglib.reflect.F

               ……………….

               ……………….

 

org.apache.geronimo.transaction.context.InheritableTransactionContext.complete(InheritableTransactionContext.java:171)

            at org.apache.geronimo.transaction.context.InheritableTransactionContext.commit(InheritableTransactionContext.java:146)

               ……………….

               ……………….

 

Caused by: Unable to rollback

            at org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113)

 

               ……………….

               ……………….

 

Caused by: java.sql.SQLException: Closed Connection

            at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

            at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)

               ……………….

               ……………….

 

 

332604 ERROR [http-0.0.0.0-8081-Processor23] org.apache.geronimo.transaction.context.AbstractTransactionContext       - Unable to roll back transaction

 java.lang.IllegalStateException: Status is STATUS_NO_TRANSACTION

            at org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:438)

            at org.apache.geronimo.transaction.context.InheritableTransactionContext.rollbackAndThrow(InheritableTransactionContext.java:308)

 

 

 

 

PS: Is this due to some configuration problem in the ejb-qls…??? That is my guess, I am not sure, yet to test it also…!

         Meanwhile , if some 1 can give the clue, it would be great..!!

 

Thanks,

Santosh.

"Don't talk about yourself; it will be done when you leave. "

 

-----Original Message-----
From: Santosh Koti [mailto:Santosh_Koti@infosys.com]
Sent: Wednesday, May 10, 2006 12:40 PM
To: user@geronimo.apache.org
Subject: ejb transaction exception..!!

 

Hi Folks,

 

I am facing a problem in running ejb based transaction.

 

Here is stack trace for my exception (in parts):

 

javax.ejb.TransactionRolledbackLocalException

        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:123)

        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)

        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)

        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)

                  …….

                  …….

 

 Caused by: javax.ejb.EJBException: Error executing statement: UPDATE AccountDetails SET bankID = CASE WHEN ? THEN ? ELSE bank

        at com.infosys.j2ee.setlbank.appservice.accounts.impl.AccountsInfoEJB.credit(AccountsInfoEJB.java:322)

 

                  …….

                  …….

Caused by: javax.ejb.FinderException: Error executing statement: UPDATE AccountDetails SET bankID = CASE WHEN ? THEN

        at org.openejb.entity.cmp.SingleValuedFinder.execute(SingleValuedFinder.java:83)

        at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)

        at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)

                  …….

                  …….

 

Caused by: org.tranql.ql.QueryException: Error executing statement: UPDATE AccountDetails SET bankID = CASE WHEN ? THEN ? ELSE

        at org.tranql.sql.jdbc.JDBCUpdateCommand.execute(JDBCUpdateCommand.java:69)

        at org.tranql.cache.SimpleFlushStrategy.flush(SimpleFlushStrategy.java:64)

 

 

Caused by: java.sql.SQLException: ORA-00920: invalid relational operator

                  …….

                  …….

 

        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)

        at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)

        at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)

 

 

 

I think the key word : ‘CASE’  is giving problem, because it is not been recognized by Oracle during the execution of the query.

 

But any ways to remove that , or can any1 suggest some  workarounds which will be of great help…!!

I tried many options , but no luck L

Thanks,

Santosh.

"Don't talk about yourself; it will be done when you leave. "

 

**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of the addressee(s). If you are not the intended recipient, please notify the sender by e-mail and delete the original message. Further, you are not to copy, disclose, or distribute this e-mail or its contents to any other person and any such actions are unlawful. This e-mail may contain viruses. Infosys has taken every reasonable precaution to minimize this risk, but is not liable for any damage you may sustain as a result of any virus in this e-mail. You should carry out your own virus checks before opening the e-mail or attachment. Infosys reserves the right to monitor and review the content of all messages sent to or from this e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***