There's defintiely a way to work around the "CASE" syntax -- I think
Gianny has talked about this before on the mailing list.  I don't
recall the solution at the moment, but perhaps you can find it in the
archives or he can jump in again.

Thanks,
   Aaron

On 5/10/06, Santosh Koti <[EMAIL PROTECTED]> wrote:



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***

Reply via email to