Когда я выполняю хранимую процедуру, которая содержит связанный сервер из WCF, я получаю сообщение об ошибке:
OLE DB provider \"SQLNCLI11\" for linked server "CLUSTERSQL_DB" was unable to begin a distributed transaction.
У меня есть связанный сервер, настроенный на сервере sql server, где я создаю хранимую процедуру, которая делает запрос:
CREATE PROCEDURE [dbo]. [TestLinkedServer]
AS
Select * From [CLUSTERSQL_DB]. [Outbound]. [Dbo]. [Table_1]
GO
[CLUSTERSQL_DB] - мой связанный сервер.
Из Студия управления Microsoft SQL Server 17 хранимая процедура выполняется успешно .
Но из WCF с Entity Framework 6.1.3 я получаю сообщение об ошибке:
OLE DB provider \ "SQLNCLI11 \" for linked server "CLUSTERSQL_DB" was unable to begin a distributed transaction.
Пример моего веб-сервиса:
[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();
}
}
Я уже активировал DTC с обоих серверов https://www.virtualizationhowto.com/2015/04/ole-db-provider-sqlncli11-linked-server-unable-distributed-transaction/
Это какая-то конфигурация на сервере IIS, где размещена веб-служба, или конфигурация web.config, или конфигурация компьютера?
Спасибо.