我在 Windows 应用程序中工作。我正在从 Excel 中读取一个值并更新到数据库中。 我的代码是
string Con_Str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath +
";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
它在我的本地工作正常,我有 32 位机器。我在 64 位机器的服务器中运行了 exe。那里我收到类似
的错误The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
我已经从这个链接下载了最新的..
http://www.microsoft.com/en-us/download/details.aspx?id=13255
我仍然遇到问题。如何解决这个问题..
最佳答案
您正在使用 Microsoft.ACE.OLEDB.12.0;
(简称 ADE)。这意味着您需要在目标机器上安装适当的位。当您构建应用程序时选择的体系结构使这变得复杂。
您为 AnyCPU 构建:
Install ADE 32bit on 32bit target machine
Install ADE 64bit on 64bit target machine
您为 x86 构建
Install ADE 32bit on 32bit or 64bit target machine.
如您所见,最简单的方法是针对 x86 架构编译您的应用程序。
关于c# - 'Microsoft.ACE.OLEDB.12.0' 提供者未在 64 位机的本地机器上注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11078675/