Tuesday, June 19, 2012

SSIS Transactions Including Oracle Data Sources

Microsoft SQL Server Integration Services has the out-of-the box capability to handle transactions. I won't get into the details of how to use it as this post is specifically geared towards including an Oracle data source/Connection Manager in a transaction. For an overview of transactions in SSIS as well as enabling MSDTC to support this capability, please refer to the links below.

When using transactions with only SQL Server Connection Managers the typical gotcha for the uninitiated is the MSDTC requirement mentioned above. When using an Oracle-based Connection Manager there is an additional dependency. This dependency is the Oracle Services For Microsoft Transaction Server component and is available in the Oracle client installer. Below is a screen shot of the installation screen with this component highlighted. 


Once MSDTC and the Oracle Services For Microsoft Transaction Server are installed and enabled, cross-database platform transactions are a breeze.

9 comments:

  1. How do i check Oracle Services for MTS is installed and enabled in my system, while client was installed.

    ReplyDelete
    Replies
    1. It will appear as a Windows service named OracleMTSRecoveryService.
      Administrative Tools->Services

      Delete
    2. I dont see "OracleMTSRecoveryService" in my desktop service under the path you have mentioned.

      But i looked at the installation logs and found below line, does that mean it is installed?

      INFO: Install type for "Oracle Services For Microsoft Transaction Server 11.2.0.3.0 " is "Custom".

      Delete
    3. If you don't see it listed as a service then it is not installed. You can run the Oracle client install again and only install that component.

      Delete
    4. As Mentioned earlier, i see the below line in my installation log file. Does that mean it is installed?

      INFO: Install type for "Oracle Services For Microsoft Transaction Server 11.2.0.3.0 " is "Custom".

      Delete
    5. I can't speak to the meaning of the line in your log file. If the service is not registered with Windows I would venture to guess that it hasn't been installed correctly.

      Delete
    6. Is there a limitation on with the OS on which the oracle database is installed ??
      Does "OracleMTSRecoveryService" support on LINUX server?

      Delete
    7. Since MTS stands for Microsoft Transaction Server I'm guessing it does not work on Linux.

      Delete
    8. Thats my guess even, wanted to confirm with you .....
      Thanks...

      Delete