OLEDB连接使用而无需物理安装驱动程序

时间:2014-07-02 07:53:34

标签: c# ms-access

我一直在尝试访问驻留在我的计算机上的MS Access数据库文件,当我安装了办公室时,它可以正常工作。

当我尝试在未安装Office安装/驱动程序的计算机上使用相同的代码时,会引发错误" Microsoft.ACE.OLEDB.12.0提供程序未注册 "

我跟进了这篇文章Microsoft.ACE.OLEDB.12.0 provider is not registered,但这里的解决方案是在物理上安装可再发行组件。虽然我想用C#以编程方式进行。

只有通过物理安装才能实现,这是唯一的出路吗?

1 个答案:

答案 0 :(得分:6)

如果您的应用程序使用Microsoft.ACE.OLEDB.12.0驱动程序,则必须在计算机上安装该驱动程序。要(以编程方式使用C#)直接访问数据库文件,主要涉及您(重新)在C#中编写Jackcess。这将是巨大的工作量并且没有任何意义(因为Windows的正确ACE.OLEDB驱动程序已经免费提供)。

另一种方法是使用Microsoft.Jet.OLEDB.4.0驱动程序。每个Windows副本都安装了(32位)Jet驱动程序。但是,您将面临以下限制:

  1. 您的应用只能操作.mdb个文件,而不能操作.accdb个文件,
  2. 您的应用程序必须构建为32位应用程序。