“Microsoft.ACE.OLEDB.12.0”提供程序未在64位机器的本地计算机上注册

我在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架构应用程序。