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