BizTalk Server Orchestration - Rollback fails for Acid Transaction

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > May 2006 > Rollback fails for Acid Transaction





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Rollback fails for Acid Transaction
ee@ee.demon.co.uk

2006-04-27, 7:25 am

Hi,

I have a simple scenario where I want to call two separate .Net functions,
each of which update a row in a table.

Orchestration:

Receive PO
|
Expression Update SQL Via .Net Method call
|
Expression Update SQL Via another .Net Method call
|
Stop

I have wrap them both in a Acid scope so if the last update fails the first
update is automatically rolled back. It is not currently working

I am not should how to go about doing this I Biztalk 2006. I have added
Enterprise component services to the .Net class doing the updates.

Can anyone point me to an example/sample that does something similar?

Thanks in advance,

Simon
Alan Smith

2006-04-27, 7:25 am

Hi Simon,

In order for .net code to participate in the atomic transaction, it needs to
be transaction enabled. You can create enterprise components in .net to do
this, (there may also be some new functionality in .net 2.0).

A simpler option may be to move the transaction logig into one stored
procedure, then make one call from your net code.

Regards,

Alan

--
The Bloggers Guide to BizTalk
http://geekswithblogs.com/asmith



"ee@ee.demon.co.uk" wrote:

> Hi,
>
> I have a simple scenario where I want to call two separate .Net functions,
> each of which update a row in a table.
>
> Orchestration:
>
> Receive PO
> |
> Expression Update SQL Via .Net Method call
> |
> Expression Update SQL Via another .Net Method call
> |
> Stop
>
> I have wrap them both in a Acid scope so if the last update fails the first
> update is automatically rolled back. It is not currently working
>
> I am not should how to go about doing this I Biztalk 2006. I have added
> Enterprise component services to the .Net class doing the updates.
>
> Can anyone point me to an example/sample that does something similar?
>
> Thanks in advance,
>
> Simon
>

ee@ee.demon.co.uk

2006-04-27, 7:25 am

Hi,

Thank you for taking the time to respond.

The problem with putting it into a store procedure is that all of the
visablity of the process is lost, i.e. I might as well use DTS!

Surly someone in this news group knows the best way of handing multiple DB
updates from within .net components that are being called from a Biztalk
orchestration?

Do people using Biztalk not generally have to worry about transaction based
updates?

Regards,

Simon
Naveenji

2006-04-28, 1:20 am

try using compensation....

read this article

http://www.codeproject.com/useritem...ompensation.asp

"ee@ee.demon.co.uk" wrote:

> Hi,
>
> Thank you for taking the time to respond.
>
> The problem with putting it into a store procedure is that all of the
> visablity of the process is lost, i.e. I might as well use DTS!
>
> Surly someone in this news group knows the best way of handing multiple DB
> updates from within .net components that are being called from a Biztalk
> orchestration?
>
> Do people using Biztalk not generally have to worry about transaction based
> updates?
>
> Regards,
>
> Simon
>

ee@ee.demon.co.uk

2006-04-29, 1:19 am

Thanks mate

My example is short running though, just like a DTS package. Is there an
example where two separate DB records are updated from within two separate
..Net component call from an orchestration with acid scope that are then
rolled back?

E.g.

Orchestration:

Receive PO
|
Expression Update SQL Via .Net Method call
|
Expression Update SQL Via another .Net Method call
|
Stop

Thanks in advance,

Jim
Sam Vanhoutte

2006-05-04, 7:26 am

> My example is short running though, just like a DTS package. Is there an
> example where two separate DB records are updated from within two separate
> .Net component call from an orchestration with acid scope that are then
> rolled back?


You need to make the .Net components Serviced Components (COM+). By doing
this, they will take part in the same atomic transaction.


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com