locked
MSDTC error : Import of MSDTC transaction failed: Result Code = 0x8004d00e.

    Question

  • Hi everyone!

    I suppose you've allready heard of this error, I've searched for answers on many other forums and groups but I didn't find a clear answer.

    So, for something to begin with - I am working on a VB 6.0 - 3 layered application and I get the error when the business layer is trying to persist some data. The broplem is that the transaction is not persisted - the application hungs and returns the "server busy" error.
    The wole application is blocked after this - when trying to save some data i keep getting this error.

    The persistent objects MTS transaction mode is set to "Requires transaction" and the component security levels are set to process level, the authentication level is None, and the impersonation level to Anonymus. I had some troubles before with the security settings and I've reached to the conclusion that the security levels and settings are the ones mentioned above - so i don#t really thinks that would be the source of the error.

    The error comes in different versions :

    Thread ID: 740 ,Logged: Import of MSDTC transaction failed: Result Code = 0x8004d00e.
    ,
    Thread ID: 740 ,Logged: Import of MSDTC transaction failed: Result Code = 0x8004d00e. 2
    and
    Thread ID: 740 ,Logged: Import of MSDTC transaction failed: Result Code = 0x8004d00e. persist 0



    Thursday, April 13, 2006 10:33 AM

Answers

  • No, I didn't solve it. I was stating that the problem with the "New transaction cannot enlist in the specified transaction coordinator" is a flaw (my fault) in the MSDTC security settings - or at least that's what I found on the internet. Didn't get to test it yet - i am waiting for a proper enviroment from the technical staff.
    With the "Import of MSDTC transaction failed" - i haven't found anything yet.
    Thursday, April 20, 2006 6:21 AM
  • You do not need to turn off Windows Firewall (and Microsoft sure does not recommend doing that).  You can add an Exception for MSDTC.EXE in the Firewall settings and then MSDTC should be fine.  You may also need to add Firewall Exceptions for your Resource Managers (such as SQL Server 2005) and/or your transactions clients apps, if they have not been opened already.  We recommend only adding Exceptions as needed. 

    -Richard

    Friday, October 20, 2006 6:31 PM
  • Hi dx5,

    You can follow the instructions available at http://blogs.msdn.com/florinlazar/archive/2004/06/18/159127.aspx to enable MSDTC through the firewall.

    Cheers!

    Wednesday, November 01, 2006 3:10 AM

All replies

  • Hey Bogdan,

    It's not clear to me from reading your post whether this is something you consistently (100%) hit, or if this is intermittent. If it is consistent then this may be a firewall issue.  You need to make sure that msdtc traffic is allowed through the firewall on both machines and you will need to enable port 135 for the RPC endpoint mapper.

    Miguel

    Thursday, April 13, 2006 3:45 PM
  • First of all thanks for the answer.
    The error is pretty weird because I too thought it was the firewall - but the firewall is not enabled neither on the server or the client machine. And the error is not intermitent - nor consistent :) The error becomes consistent after the first time I get it - if I am lucky enough and the error doesn't appear then everything works fine , after the first error every other heavier transaction (heavier as in it takes longer to commit) does not commit and i get this error.

    Then again, I've reinstalled the server-side application and i've restarted the COM+ services and now everything works fine - although, I don't understant what changed and the next time I won't be able to debug it - I'll have to go on an reinstall the server and the COM services :(
    Friday, April 14, 2006 6:33 AM
  • I don't think it will be necessary to reinstall your COM+ App; we just need to figure out what's going wrong.  The error that you're getting (XACT_E_NOTRANSACTION; 0x8004d00e) can occur in many places but most commonly is associated with a failed propagation of the transaction from the business layer to the database backend.  Since things start out working and then "something happens" after which then nothing commits, we need to figure out what is the event. 

    Can you give me more information about the systems with which you're working?  For example, the COM+ server is Windows 2000 with service pack 4 and the Database Server is Windows XP with service pack 2.  What is you backend server?  SQL?  Have you looked through the event logs on both servers for any strange events around the time things start going wrong?  Are services going down or restarting? 

    -Richard

    Friday, April 14, 2006 6:11 PM
  • Hi Richard!

    The COM+ server is the same with the database server  - we had some problems in this direction also but we decided we'll let them on the same machine because otherwise we got a pretty nice error - "Transaction cannot enlist" we didn't get to the bottom of that one and the only solution was - leave the COM+ and the database on the same machine.

    Ok, so to the server - the machine is a WIN 2003 server, the database is MsSQL Server 2000 with SP3, the event logs didn't bring me any other errors - this was the only error that had any relation with the application. The services aren't going down, nor restarting  - everything goes on  without any other  efects on other applications.
    Monday, April 17, 2006 6:40 AM
  • Yeah, so with the "Transactuion cannot enlist in the specified transaction coordinator"  - I've found the solution (COM+ communication&security settings ) and it was pretty easy - sorry to have mentioned that in here.
    Tuesday, April 18, 2006 7:39 AM
  • Do I understand that you have solved your own problem?  If so, you might want to post what you did to resolve the issue to assist others who might hit this same problem. 

    -Richard

    Wednesday, April 19, 2006 12:56 AM
  • No, I didn't solve it. I was stating that the problem with the "New transaction cannot enlist in the specified transaction coordinator" is a flaw (my fault) in the MSDTC security settings - or at least that's what I found on the internet. Didn't get to test it yet - i am waiting for a proper enviroment from the technical staff.
    With the "Import of MSDTC transaction failed" - i haven't found anything yet.
    Thursday, April 20, 2006 6:21 AM
  • Any resolution to this yet?  I am having the same problem.
    Thursday, May 04, 2006 6:48 PM
  • This would be great, but you haven't explained exactly what you did in Com+  - we have exactly the same problem.
    Thursday, June 01, 2006 9:41 AM
  • Is there any resolution available for the MSDTC issue yet?  I am experiencing the same MSDTC issue between a web/app server and SQL server2k.  Both these environments are on Win2K server with SP4. SQL server has SQL SP3 on.  The error comes intermittently. 

    Friday, September 15, 2006 5:38 PM
  • If your environment is a homogeneous W2KSp4 environment, then the problem is not due to any RPC security settings on MSDTC.  RPC security was added in the XPSp2 timeframe.  The error code is stating that the transaction has already committed or aborted when your client app attempted to Commit. 

    To help diagnose what's happening, you should turn on tracing.  Transaction tracing was added to W2K.  To configure tracing, please refer to: http://support.microsoft.com/kb/898918/

    Hope this helps,

    -Richard

    Friday, September 15, 2006 8:01 PM
  • I am getting the same error on a Windows XP machine.  How do I reload COM+ services?  We have a company wide interface program which will not load on our new Dell Latitude D620 becuase of this COM+ error.  First time i've dealt with it.  Any help is much appreciated.
    Thursday, September 21, 2006 11:36 PM
  • If you use local firewall,  Cancel that.  and   if you use the .Net  ,   change  "machine" to "SYSTEM"  at userName in machine.config.

    just  try to do .. ^^

    Tuesday, October 17, 2006 12:25 AM
  • Wow, the Firewall-Tip succeeded. But what exactly is the problem? I'd like to configure my firewall in a way that transactions will work but other firewall protections stil stay active!?

    Friday, October 20, 2006 11:41 AM
  • You do not need to turn off Windows Firewall (and Microsoft sure does not recommend doing that).  You can add an Exception for MSDTC.EXE in the Firewall settings and then MSDTC should be fine.  You may also need to add Firewall Exceptions for your Resource Managers (such as SQL Server 2005) and/or your transactions clients apps, if they have not been opened already.  We recommend only adding Exceptions as needed. 

    -Richard

    Friday, October 20, 2006 6:31 PM
  • Hi dx5,

    You can follow the instructions available at http://blogs.msdn.com/florinlazar/archive/2004/06/18/159127.aspx to enable MSDTC through the firewall.

    Cheers!

    Wednesday, November 01, 2006 3:10 AM
  • Hi,

    A llitle tip,

    I followed the very detailed instructions at <a href="http://blogs.msdn.com/florinlazar/archive/2004/06/18/159127.aspx">Florin Lazar's Weblog</a>, and found that my transactions sometimes worked and sometimes did not. I keep debugging and found that it was actually a TIME-OUT in the transaction scope, so I just added the TimeSpan parameter to the TransactionScope object creation and it worked ok all the times!

              Dim TIMEOUT_HOURS As Integer = 0

              Dim TIMEOUT_MINUTES As Integer = 10

              Dim TIMEOUT_SECONDS As Integer = 0

              Dim Sys_Transaction As TransactionScope = New TransactionScope( TransactionScopeOption.RequiresNew, _

                                       New System.TimeSpan(TIMEOUT_HOURS, TIMEOUT_MINUTES, TIMEOUT_SECONDS) )

    Hope this helps someone.

    Best regards,

                      Carlos

    Thursday, February 22, 2007 6:08 PM
  • am using vb.net and sql server 2005. my app is running on win XP and SP2. some times my app can commit the transaction and some times can not. while i running the app transaction has canceled by MSDTC in halfway.am getting the error in production server.  pls giv me a suggesion.
    Monday, March 26, 2007 4:51 AM
  • If you are using the Windows firewall, folllow the instructions from http://blogs.msdn.com/florinlazar/archive/2004/06/18/159127.aspx to enable MSDTC through the firewall.

     

    If you are using other type of firewall, follow http://support.microsoft.com/kb/250367/

    Friday, March 30, 2007 1:36 AM