Как мне не дать OleDbConnection попытаться подключиться к распределенной транзакции? - PullRequest
6 голосов
/ 09 октября 2009

Я использую OleDB для подключения к файлу Excel, используя эту строку подключения

@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES"""

Но когда я делаю это (который находится внутри TransactionScope ())

using (OleDbConnection conn = new OleDbConnection(connectionString))
{
    conn.Open();
    ...
}

Я получаю следующую ошибку

Интерфейс ITransactionLocal не является поддерживается Поставщик Microsoft.ACE.OLEDB.12.0. Локальные транзакции недоступны с текущим провайдером.

Как заставить OleDbConnection не пытаться подключиться к распределенной транзакции? SqlConnection class имеет свойство ConnectionString с именем Enlist, но я не могу найти эквивалентную конфигурацию или метод для OleDB.

1 Ответ

12 голосов
/ 08 февраля 2010

В строке подключения добавьте следующий код: "; Услуги OLE DB = -4;"

...