OLEDB提供程序出错新事务无法在指定的事务协调器

时间:2016-09-09 11:35:24

标签: c# ado.net sql-server-2014 windows-server-2012-r2

    using (TransactionScope transactionscope = new TransactionScope())
    {
     try
        {
            function1(); //perform update on table
            function2(); //perform update on table 
            transactionscope.Complete();
        }
        catch(Exception ex)
        {

        }
     }

代码在sqlclient提供程序中正常工作但在oledb提供程序的情况下它会出错"新事务无法在指定的事务协调器中登记"。 已在服务器上启用DTC服务。

enter image description here

1 个答案:

答案 0 :(得分:0)

您无法在多个事务中打开连接,因此创建连接对象并在事务范围之外将其打开存储在会话中重用它在事务中所需的位置,事务完成后确保关闭连接以避免任何问题。