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

本文关键字:安装 驱动程序 连接 OLEDB | 更新日期: 2023-09-27 18:11:16

我一直在尝试访问驻留在我的机器上的MS access数据库文件,当我安装了office时,它工作得很好。

当我尝试在没有安装office/驱动程序的机器上使用相同的代码时,它会抛出一个错误"Microsoft.ACE.OLEDB.12.0 provider is not registered"

我跟进了这篇文章,Microsoft.ACE.OLEDB.12.0提供商没有注册,但这里的解决方案是物理安装可重新分发的。而我想用c#来编程。

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

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

如果您的应用程序使用Microsoft.ACE.OLEDB.12.0驱动程序,那么该驱动程序必须安装在机器上。要"以编程方式使用c#"(直接)访问数据库文件,本质上需要你(重新)用c#编写jacess。这将是一个巨大的工作量,并且没有真正的意义(因为适当的ACE)。Windows的OLEDB驱动程序已经免费提供)。

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

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