Ошибка с поставщиком 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 ответ
Вы не можете открыть соединение в транзакции более одной, поэтому создайте объект соединения и откройте его вне области транзакции, сохраните его в сеансе, используйте его повторно, где вы хотите в транзакции, после завершения транзакции убедитесь, что соединение закрыто, чтобы избежать любой проблемы.