在WCF上-链接服务器xxx的OLE DB提供程序SQLNCLI11无法开始分布式事务

时间:2019-06-26 15:29:22

标签: c# sql-server wcf linked-server

当我执行包含来自WCF的链接服务器的存储过程时,出现错误:

OLE DB provider \"SQLNCLI11\" for linked server "CLUSTERSQL_DB" was unable to begin a distributed transaction.

我在服务器sql服务器上配置了一个链接服务器,在其中创建了一个进行查询的存储过程:

CREATE PROCEDURE [dbo]. [TestLinkedServer]
AS
  Select * From [CLUSTERSQL_DB]. [Outbound]. [Dbo]. [Table_1]
GO

[CLUSTERSQL_DB]是我的链接服务器。

Microsoft SQL Server管理工作室17 中,存储过程成功运行

但是,从带有实体框架6.1.3的WCF中,我得到了错误:

OLE DB provider \ "SQLNCLI11 \" for linked server "CLUSTERSQL_DB" was unable to begin a distributed transaction.

我的Web服务示例:

[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/testLinkedServer", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
string testLinkedServer();

public string testLinkedServer()
{
    try
    {
        using (var trans = new TransactionScope())
        {
             Model.MyModel db = new Model.MyModel();
             db.PruebaLinkedServer();
             trans.Complete();
             return "Se Ejecuto el cargue correctamente!" ;
         }
    }
    catch (Exception ex)
    {
         return what = ex.ToString();
    }
}

我已经从两个服务器https://www.virtualizationhowto.com/2015/04/ole-db-provider-sqlncli11-linked-server-unable-distributed-transaction/激活了DTC

是托管Web服务的IIS服务器上的某些配置,还是web.config的配置,还是计算机的配置?

谢谢。

0 个答案:

没有答案