4

我在 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

我仍然收到问题。如何解决这个..

4

1 回答 1

2

您正在使用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 架构编译您的应用程序。

于 2012-06-18T07:56:16.703 回答