Hi,
We are facing issues with using Oracle 11g client with MSDTC for our ASP/ASP.Net application migration (OS - Win2k3 to Win2008 & Oracle client – 9i to 11g).
Currently below is our set up.
Windows Server 2008 R2 - 64bit
Oracle client 11g R2 - 32bit
SP/ASP.Net Web Application, COM Components in VB, .Net (32 bit)
Oracle Services for MTS installed.
COM+ components fail to perform DB activities when the Transaction Support is "Required". (COM properties-> Transactions-> Required). However, when Transaction Support is set to "Not Required", then everything works fine.
We created a sample VB COM component and a sample console program is invoking the COM component - just to connect to DB and retrieve a value from dual. Below is the error message we receive
ErrorNo error message available, result code: -2147430328(0x8000D048)
Windows EventLog contains the following error
The MSDTC XA Transaction Manager called the 'GetXaSwitch' function in the XA resource manager DLL 'C:\Windows\system32\mtxoci.dll'. The call to the 'GetXaSwitch' function failed with error 0x80004005: File=d:\w7rtm\com\complus\dtc\dtc\xatm\src\xarmconn.cpp Line=2475.
Again after some more googling, we found it to be related to Network Service access error on Oracle dlls. Then we granted FULL access to Network Service account on C:\Oracle\product\11.2.0\Client (client folder) and C:\Program Files (x86)\Oracle
We also enabled MSDTC tracing and parsed the trace file and attached is the information from MSDTC trace
pid=4412 ;tid=1756 ;time=08/24/2014-22:31:18.509 ;seq=6 ;eventid=TRANSACTION_BEGUN ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"transaction has begun, description :'snowy.cmodkillsnowy'"
pid=4412 ;tid=1756 ;time=08/24/2014-22:31:18.509 ;seq=7 ;eventid=RM_ENLISTED_IN_TRANSACTION ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"resource manager #1002 enlisted as transaction enlistment #1. RM guid = '020871ec-c6ec-44ad-8d38-23725034caac'"
pid=4412 ;tid=4652 ;time=08/24/2014-22:32:23.790 ;seq=8 ;eventid=ABORT_DUE_TO_TRANSACTION_TIMER_EXPIRED ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"transaction timeout expired"
pid=4412 ;tid=4652 ;time=08/24/2014-22:32:23.790 ;seq=9 ;eventid=TRANSACTION_ABORTING ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"transaction is aborting"
pid=4412 ;tid=4652 ;time=08/24/2014-22:32:23.790 ;seq=10 ;eventid=RM_ISSUED_ABORT ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"abort request issued to resource manager #1002 for transaction enlistment #1"
pid=4412 ;tid=2940 ;time=08/24/2014-22:32:23.790 ;seq=11 ;eventid=RM_ACKNOWLEDGED_ABORT ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"received acknowledgement of abort request from the resource manager #1002 for transaction enlistment #1"
pid=4412 ;tid=2940 ;time=08/24/2014-22:32:23.790 ;seq=12 ;eventid=TRANSACTION_ABORTED ;tx_guid=d62be6d5-0c35-436a-9451-a9c18819a18b ;"TM Identifier='(null) '" ;"transaction has been aborted"
pid=4412 ;tid=4652 ;time=08/24/2014-22:33:00.639 ;seq=13 ;eventid=TRACING_STOPPED ;;"TM Identifier='(null) '" ;"MSDTC is suspending the tracing of long - lived transactions due to lack of activity"
pid=4412 ;tid=4544 ;time=08/24/2014-22:35:53.268 ;seq=14 ;eventid=TRACING_STARTED ;;"TM Identifier='(null) '" ;"MSDTC is resuming the tracing of long - lived transactions"
pid=4412 ;tid=4652 ;time=08/24/2014-22:36:48.311 ;seq=15 ;eventid=TRACING_STOPPED ;;"TM Identifier='(null) '" ;"MSDTC is suspending the tracing of long - lived transactions due to lack of activity"
The error still occurs. Help please.