Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用OLEDB连接,无需实际安装驱动程序_C#_Ms Access - Fatal编程技术网

C# 使用OLEDB连接,无需实际安装驱动程序

C# 使用OLEDB连接,无需实际安装驱动程序,c#,ms-access,C#,Ms Access,我一直在尝试访问驻留在我的计算机上的MS access数据库文件,当我安装office时,它工作正常 当我尝试在未安装office/driver的计算机上使用相同的代码时,会抛出一个错误“Microsoft.ACE.OLEDB.12.0提供程序未注册”” 我跟进了这篇文章,但这里的解决方案是物理安装可再发行文件,而我希望使用C#以编程方式进行安装 只有通过物理安装才能做到这一点,这是唯一的出路吗?如果您的应用程序使用Microsoft.ACE.OLEDB.12.0驱动程序,则必须在计算机上安装该

我一直在尝试访问驻留在我的计算机上的MS access数据库文件,当我安装office时,它工作正常

当我尝试在未安装office/driver的计算机上使用相同的代码时,会抛出一个错误“Microsoft.ACE.OLEDB.12.0提供程序未注册”

我跟进了这篇文章,但这里的解决方案是物理安装可再发行文件,而我希望使用C#以编程方式进行安装


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

如果您的应用程序使用
Microsoft.ACE.OLEDB.12.0
驱动程序,则必须在计算机上安装该驱动程序。要(直接)访问数据库文件“以编程方式使用C#”,基本上需要(重新)使用C#编写。这将是一项巨大的工作,而且没有实际意义(因为适用于Windows的ACE.OLEDB驱动程序已经免费提供)

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

  • 您的应用程序只能操作
    .mdb
    文件,而不能操作
    .accdb
    文件,以及
  • 您的应用程序必须构建为32位应用程序

  • 谢谢,这正是我想要的。