System.InvalidOperationException:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册
Posted
技术标签:
【中文标题】System.InvalidOperationException:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册【英文标题】:System.InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine 【发布时间】:2020-11-24 20:32:39 【问题描述】:我正在尝试在 Azure DevOps 中使用 vstest 运行测试。但得到以下错误。任何线索可能导致以下错误?
..
【问题讨论】:
只是检查一下这个问题现在是否仍然阻止您?这个问题有什么更新吗? 下面的答案有帮助吗? 【参考方案1】:这似乎是主机问题(IIS)。请联系支持人员并要求他们解决此问题。
参考资料:
-
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine (server)
https://www.mikesdotnetting.com/article/280/solved-the-microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-mach
【讨论】:
这对你有帮助吗@Ramdas?【参考方案2】:您似乎正在使用托管代理,您可以查看有关 Microsoft-hosted agent configuration 的文档。
Access Engine 未预装在 microsoft 托管代理中,因此 microsoft 托管代理无法满足测试要求。它可能会导致错误。我们可以使用 power shell 任务并运行脚本(New-Object system.data.oledb.oledbenumerator).GetElements() | select SOURCES_NAME, SOURCES_DESCRIPTION
来检查它。
微软托管代理windows-2019
本地机器
有效的方法是在您的本地机器或虚拟机上安装Microsoft Access Database Engine,然后您可以创建一个自托管代理来运行需要MS Access Engine 的测试。
在这种情况下,正确的方法是您可以创建一个self-hosted agent 并在其上运行测试。
【讨论】:
以上是关于System.InvalidOperationException:“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册的主要内容,如果未能解决你的问题,请参考以下文章