none
Adapater pack 2.0 - Use Transaction property on Send Ports RRS feed

  • Question

  • Use Transaction property on send ports   vs  Use Ambient Transation property ...

    1. What does the Use Transaction property  do ? There is a drop down where u can select different transaction isolation level ..

    2. What  is the significance of this property Vs Use Ambient Transaction property...

    Strangely the MSDN documentation does not explain this property setting ..

     

    Thursday, March 25, 2010 3:12 AM

Answers

  • If you set the ambient transaction to false, on the ODP.NET connection, adapter will set ENLIST=false. So the procedure on Oracle side will not be executed in the transaction scope that is created on the BizTalk side.
    Tuesday, March 30, 2010 9:04 AM

All replies

  • Use Transaction will invoke the operation inside a transaction scode.

    UseAmbientTransaction will indicate that the adapter should enlist in the transaction.

    So, both should be true in order for transactions to work.

    Now, you ask why 2 properties? :) Before BizTalk 2009, this option "Use Transaction" property in WCF Send port was not exposed, and it always used to create a transaction. Also, on the receive side, "Use Transaction" property is configurble.

     

    Friday, March 26, 2010 10:09 AM
  • Thanks Manas...

    One thing I noticed was if you have both Ambient Transaction as true & use transaction is checked  then   you can not have commits in the procedures because it being elevated as a 2 phase commit ..

    Our problem is we already have a procedure  called by the send port that has  its own logic based on commits with in inside the  proc ..

    What if the  Ambient Transaction is false and Use Transaction is true and we  use a transaction like "Read Commited" ?

    Monday, March 29, 2010 2:48 PM
  • Thanks Manas...

    One thing I noticed was if you have both Ambient Transaction as true & use transaction is checked  then   you can not have commits in the procedures because it being elevated as a 2 phase commit ..

    Our problem is we already have a procedure  called by the send port that has  its own logic based on commits with in inside the  proc ..

    What if the  Ambient Transaction is false and Use Transaction is true and we  use a transaction like "Read Commited" ?

    Monday, March 29, 2010 2:48 PM
  • If you set the ambient transaction to false, on the ODP.NET connection, adapter will set ENLIST=false. So the procedure on Oracle side will not be executed in the transaction scope that is created on the BizTalk side.
    Tuesday, March 30, 2010 9:04 AM