Ошибка с поставщиком OLEDB Новая транзакция не может быть зачислена в указанный координатор транзакций

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

        }
     }

Код работает нормально с провайдером sqlclient, но в случае провайдера oledb выдает ошибку "Новая транзакция не может быть включена в указанный координатор транзакций". Уже включите службу DTC на сервере.

1 ответ

Вы не можете открыть соединение в транзакции более одной, поэтому создайте объект соединения и откройте его вне области транзакции, сохраните его в сеансе, используйте его повторно, где вы хотите в транзакции, после завершения транзакции убедитесь, что соединение закрыто, чтобы избежать любой проблемы.

Другие вопросы по тегам