我一直在尝试访问驻留在我的计算机上的MS Access数据库文件,当我安装了办公室时,它可以正常工作。
当我尝试在未安装Office安装/驱动程序的计算机上使用相同的代码时,会引发错误" Microsoft.ACE.OLEDB.12.0提供程序未注册 "
我跟进了这篇文章Microsoft.ACE.OLEDB.12.0 provider is not registered,但这里的解决方案是在物理上安装可再发行组件。虽然我想用C#以编程方式进行。
只有通过物理安装才能实现,这是唯一的出路吗?
答案 0 :(得分:6)
如果您的应用程序使用Microsoft.ACE.OLEDB.12.0
驱动程序,则必须在计算机上安装该驱动程序。要(以编程方式使用C#)直接访问数据库文件,主要涉及您(重新)在C#中编写Jackcess。这将是巨大的工作量并且没有任何意义(因为Windows的正确ACE.OLEDB驱动程序已经免费提供)。
另一种方法是使用Microsoft.Jet.OLEDB.4.0
驱动程序。每个Windows副本都安装了(32位)Jet驱动程序。但是,您将面临以下限制:
.mdb
个文件,而不能操作.accdb
个文件,