JDBC Adapter 6.5, transaction type is LOCAL_TRANSACTION ,
my flow service as below:
public.art.transaction:startTransaction
SEQUENCE(exit on success)
–SEQUENCE(exit on failure)
----call jdbc adapter service to insert
----public.art.transaction:commitTransaction
–SEQUENCE(exit on done)
----pub.flow:getLastError
----public.art.transaction:rollbackTransaction
i get the following error msg when public.art.transaction:commitTransaction executes:
[ART.114.303] Adapter Runtime (Transaction): Unable to commit transaction.
null
but i find the data have been insert to the database, it seem the transaction have not started. how to solve it. Thanks advance.
If you are running the service in trace mode then u’ll get this error:
The whole transaction is considered as an atomic unit of execution. If you use stepping function, the transaction will be executed in different thread and thus different context, which causes the transaction failure. If you run the whole transaction as a single step, it should be run properly.
If you need more information about the implicit transaction (which is configuration on the connection level) and explicit transaction (which is done using art services), you can refer to the JMS adapter user’s guide Appendix A, or JDBC adapter user’s guide Appendix C.
Thanks. it doesn’t throw any exception when i run the following as a single step. but i found out the transaction don’t work. it call public.art.transaction:rollbackTransaction to roll back the transaction after insert by calling jdbc adapter, but the data have been insert to the database,
and it didn’t throw any error message. My database is Oracle 9i. please advice, thanks a lot.