MS DTC Problems From SQL2000 Trigger To SQL 2005 CLR Proc

  • I am getting the following error from my SQL 2000 server when trying to insert into a table that has an insert trigger.

    Server: Msg 7391, Level 16, State 1, Procedure trgProcessCRMSetLastDateInfo, Line 105

    The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.

    [OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]

    OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].

    The trigger calls a CLR procedure on a linked SQL 2005 server. When I run the same code in QA on my desktop, everything runs fine. Are distributed transactions allowed in this scenerio? I've found info on troubleshooting MSDTC and haven't been able to locate any of the known issues.

    Thanks

  • hi.. i have spent my whole day trying to resolve this issue. now from what i have seen.. the DTC does not like triggers not sure if that is actually true.

    But try this KB article.

    http://support.microsoft.com/kb/839279

    resolved all my issues.

    kgunnarsson
    Mcitp Database Developer.

  • Hi,

    You will need to check you have enabled enabled MSDTC for network access using Component Services, as you're running a distributed transaction. Once in component services, goto the MSDTC tab and click the Security Configuration to check.

    Thanks,

    Phillip Cox

    MCITP - DBAdmin

  • What was interesting to me was that I tried to telnet port 135 between the 2 computers after enabling inbound and outbound MDTC. but all was good after I opened tcp port 135 on the remote computer.

    kgunnarsson
    Mcitp Database Developer.

  • Excellent result!

    Thanks,

    Phillip Cox

    MCITP - DBAdmin

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply