none
Transaction Scope works on non-Windows ? RRS feed

  • Question

  • I'm using TransactionScope in my code to begin a transaction between 2 oracle databases, it works if these 2 Oracle are both installed on Windows, but will it work if they are on Linux or AIX?

    they say nothing last forever

    Thursday, May 24, 2012 11:51 AM

Answers

  • Hi del.piero;

    A lot of things need to be in place for this can happen. For example does Oracle have drivers of there database engine on the systems in question, Linux and AIX that support Entity Framework on those systems? Does the current version of the software on Linux and AIX that support .Net support Entity Framework?

    These question are the type of questions that need to be asked of the other vendors.

      


    Fernando (MCSD)

    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".

    Thursday, May 24, 2012 2:26 PM
  • On 5/24/2012 11:53 PM, del.piero wrote:
    > Hi, the case is that I'm running my .NET code on my windows PC, and
    > start a transaction to call 2 Oracle databases installed on 2 linux or
    > AIX, so .net framework and entity framework support is not a problem,
    > will this work?
    >
    No it's not going to work. You would need .NET drivers for Oracle for
    the Linux platform. And if there are drivers, then they are most likely
    3rd party and cost money.
     
    Friday, May 25, 2012 6:21 AM
  • It depends on the oracle client / provider, see this article for details:

    http://blogs.msdn.com/b/distributedservices/archive/2011/11/28/how-to-configure-msdtc-to-support-oracle-transactions-using-the-oracle-oledb-driver.aspx


     

       Cool tools for Linq-to-SQL and Entity Framework 4:
     huagati.com/dbmltools - Visual Studio add-in with loads of new features for the Entity Framework and Linq-to-SQL designers
     huagati.com/L2SProfiler - Runtime SQL query profiler for Linq-to-SQL and Entity Framework v4

    Monday, May 28, 2012 2:35 AM

All replies

  • maybe it's depending on the transaction, if the transaction is promoted (e.g. span more than one connection to the dB) is managed by one windows COM+ component called (Distributed Transaction Coordinator), if not promoted is managed by a piece of .Net called (Lightweight Transaction Manager).

    Hope it helps

    Thursday, May 24, 2012 12:52 PM
  • Hi del.piero;

    A lot of things need to be in place for this can happen. For example does Oracle have drivers of there database engine on the systems in question, Linux and AIX that support Entity Framework on those systems? Does the current version of the software on Linux and AIX that support .Net support Entity Framework?

    These question are the type of questions that need to be asked of the other vendors.

      


    Fernando (MCSD)

    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".

    Thursday, May 24, 2012 2:26 PM
  • Hi, the case is that I'm running my .NET code on my windows PC, and start a transaction to call 2 Oracle databases installed on 2 linux or AIX, so .net framework and entity framework support is not a problem, will this work?

    thanks.


    they say nothing last forever

    Friday, May 25, 2012 3:53 AM
  • On 5/24/2012 11:53 PM, del.piero wrote:
    > Hi, the case is that I'm running my .NET code on my windows PC, and
    > start a transaction to call 2 Oracle databases installed on 2 linux or
    > AIX, so .net framework and entity framework support is not a problem,
    > will this work?
    >
    No it's not going to work. You would need .NET drivers for Oracle for
    the Linux platform. And if there are drivers, then they are most likely
    3rd party and cost money.
     
    Friday, May 25, 2012 6:21 AM
  • Hi del.piero;

    I don't know for sure if it will work. In a case like this seeming you have your system Windows box all set up I would try building a small test app and do a test to prove the concept.

      


    Fernando (MCSD)

    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".

    Friday, May 25, 2012 12:06 PM
  • I'm using odp.net from Oracle and test the code on 2 oracle DB on linux, it seems working fine.

    I noticed the local MSDTC service counts 1 in my client PC and I asked same question in oracle forum, the expert there said yes.


    they say nothing last forever

    Sunday, May 27, 2012 6:57 PM
  •  

    Well then it would seem like the configuration is working for you. Very good.

      


    Fernando (MCSD)

    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".

    Sunday, May 27, 2012 7:56 PM
  • On 5/27/2012 2:57 PM, del.piero wrote:
    > I'm using odp.net from Oracle and test the code on 2 oracle DB on linux,
    > it seems working fine.
    >
    > I noticed the local MSDTC service counts 1 in my client PC and I asked
    > same question in oracle forum, the expert there said yes.
    >
     
    Of course, the true test would be that you made the program blow up, and
    it rolled back all transactions across databases.
     
    Sunday, May 27, 2012 11:28 PM
  • It depends on the oracle client / provider, see this article for details:

    http://blogs.msdn.com/b/distributedservices/archive/2011/11/28/how-to-configure-msdtc-to-support-oracle-transactions-using-the-oracle-oledb-driver.aspx


     

       Cool tools for Linq-to-SQL and Entity Framework 4:
     huagati.com/dbmltools - Visual Studio add-in with loads of new features for the Entity Framework and Linq-to-SQL designers
     huagati.com/L2SProfiler - Runtime SQL query profiler for Linq-to-SQL and Entity Framework v4

    Monday, May 28, 2012 2:35 AM