当我执行包含来自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的配置,还是计算机的配置?
谢谢。