如何让OleDbConnection不要尝试在分布式事务中登记?

时间:2009-10-09 17:20:00

标签: .net transactions oledb

我使用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有一个名为'Enlist'的ConnectionString属性,但我找不到OleDB的等效配置或方法。

1 个答案:

答案 0 :(得分:12)

在连接字符串中添加以下代码: “; OLE DB Services = -4;”