C# 如果未安装access,我的程序是否仍能运行

C# 如果未安装access,我的程序是否仍能运行,c#,excel,ms-access,C#,Excel,Ms Access,我正在开发一个程序,从Excel文件中检索信息,并将这些信息转换为Access数据库中的存储信息,以便以后使用。 程序运行的计算机确实安装了Excel,但我不确定它是否具有访问权限。 我只是想知道我的程序在这种情况下是否可以工作,或者Access肯定应该安装在另一台计算机上?如果您使用的是Microsoft OLEDB连接,则需要在客户端PC上安装。用户可能需要安装Access数据库引擎(免费下载): ODBC和OLEDB驱动程序是为应用程序开发人员安装的,用于开发与Office文件格式连接的

我正在开发一个程序,从Excel文件中检索信息,并将这些信息转换为Access数据库中的存储信息,以便以后使用。 程序运行的计算机确实安装了Excel,但我不确定它是否具有访问权限。
我只是想知道我的程序在这种情况下是否可以工作,或者Access肯定应该安装在另一台计算机上?

如果您使用的是Microsoft OLEDB连接,则需要在客户端PC上安装。

用户可能需要安装Access数据库引擎(免费下载):

ODBC和OLEDB驱动程序是为应用程序开发人员安装的,用于开发与Office文件格式连接的应用程序


答案是:视情况而定

  • 如果您的目标是
    mdb
    Access文件,则预装了Windows,因此您无需安装任何东西(但请确保它是针对
    x86
    编译的,而不是针对
    AnyCPU
    ,否则它可能无法在64位系统上运行)

  • 如果您使用的是Access 2007/2010/2013更新的
    accdb
    格式,则目标计算机必须安装(如回答所示)。
    但要小心:您只能安装32位或64位版本,并且您自己的程序位必须与驱动程序的位匹配。
    此外,如果用户安装了另一个版本的MS Office(32位或64位),则您将无法安装该引擎(尽管如果用户安装了Office 2007或更高版本,则应该已经安装了该引擎)

简短回答:如果您坚持使用
mdb
,则无需安装任何附加设备。
在任何情况下,请确保明确地为
x86
体系结构编译C#app。

很抱歉投了反对票,但事实并非如此。虽然安装运行时将提供必要的驱动程序,但这不是必需的,因为如果要使用较新的“`
.accdb
数据库,则只需要Access数据库引擎。对于MDB文件,您不需要任何东西,windows附带了预安装的驱动程序。