错误:- 'Microsoft.ACE.OLEDB.12.0' 提供程序不支持 ITransaction

本文关键字:程序 ITransaction 不支持 ACE Microsoft 错误 OLEDB | 更新日期: 2023-09-27 18:35:24

通过不同的 API,我到达具有相同参数的相同代码

public void Foo(string nprPath, int maxConnections = 3)
{
    var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + nprPath;
    using (var connectionPool = new ConnectionPool(maxConnections, connectionString))
    {
       ....
    }
}

我用确切的参数进入 mefhod。一个 API 成功,另一个 API 引发以下内容

{"The ITransactionLocal interface is not supported by the 'Microsoft.ACE.OLEDB.12.0' 
provider.Local transactions are unavailable with the current provider."}

使用 ACE 是否有任何先决条件。OLEDB.12

错误:- 'Microsoft.ACE.OLEDB.12.0' 提供程序不支持 ITransaction

您可以尝试将";OLE DB Services=-4"添加到连接字符串。

像这样:

var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;OLE DB Services=-4;Data Source=" + nprPath;

另请查看此相关论坛

编辑:-

当"OLE DB 服务 = -4;它的意思是:-

除池化和自动事务登记外的所有内容

检查相关的 MSDN