2008-12-04 4 views
4

У меня есть .NET 3.5 C библиотеки с #, который использует OleDb для извлечения данных из файла Excel и вернуть его в DataRowCollection, который используется в CLR Table-значной функции в SQL Server 2005.ITransactionLocal интерфейс не поддерживается

Функция работает нормально, когда я использую SELECT. Но если я хочу использовать его вывод как источник для INSERT INTO таблицы, я получаю следующую ошибку:

System.InvalidOperationException: интерфейс ITransactionLocal не поддерживается поставщиком Microsoft.Jet.OLEDB.4.0 , Локальные транзакции недоступны для текущего провайдера. System.InvalidOperationException: в System.Data.OleDb.OleDbConnectionInternal.EnlistTransactionInternal (сделки сделки, Boolean forcedAutomatic) в System.Data.OleDb.OleDbConnection.Open() в GetExcelFunction.GetFile (Строка strFileName) в GetExcelFunction.InitMethod (String strFileName)

Итак, как это решить? Удалить связь с созданием транзакции? Если да, то как? Я не вижу никаких соответствующих методов или свойств в OleDbConnection. Есть ли параметр в строке подключения?

ответ

8

Добавить "; OLE DB Services = -4" в строку подключения.

Смежные вопросы