【发布时间】:2011-12-08 18:13:38
【问题描述】:
我使用 .NET 语言编写应用程序以访问 MS Access 数据库。我想问是否可以在没有安装 MS Access 的 PC 上使用我的应用程序及其数据库?
【问题讨论】:
标签: .net database ms-access portability
我使用 .NET 语言编写应用程序以访问 MS Access 数据库。我想问是否可以在没有安装 MS Access 的 PC 上使用我的应用程序及其数据库?
【问题讨论】:
标签: .net database ms-access portability
这经常被错误引用和误解。这里的建议也是正确的。
因此,所谓的 JET 数据库引擎已经成为 windows 的一部分,并作为默认安装组件预安装了 10 多年。事实上,它是 Windows 98SE 的默认设置。这意味着全新的开箱即用的 windows 机器可以在没有安装软件的情况下使用 windows 脚本来打开这些 Access 文件。
因此,您可以从 VB.net、c# 等打开这些文件,而无需安装任何额外的组件。
但是请记住,从 Office 2007 开始,如果您使用新的 accDB 格式文件而不是 mdb,那么您将必须安装更新版本的 JET 引擎。这个较新版本的引擎与较旧的 mdb 文件兼容,但需要打开 access 2007 及更高版本的格式数据库。 (accDB/accDE)。
这个新引擎中还有一个连接功能,可以打开 SharePoint 表,甚至连接到 Office 365 发布 Access 数据库(您可以对这些 Office 365 表使用 SQl)。
因此,在所有情况下,您都不需要在计算机上安装 Access 应用程序本身,但您确实需要一个版本的数据库引擎。
正如过去很长一段时间所指出的,此数据库默认安装在并将继续安装在 Windows 上。
但是如前所述,对于具有多值支持、SharePoint 支持、数据库触发器和存储过程的新格式数据库,以及该数据库引擎的 64 位版本?然后您必须下载并安装更新版本的 JET,如前所述,它现在称为 ACE。
请记住,虽然较新版本的数据引擎具有表触发器和存储过程(当您从 .net 修改数据时会运行),但我相信您需要 ms-access 来编辑 + 创建新的存储过程,您不能使用 ACE 对象模型创建或编辑表触发器和存储过程。
但是,一旦创建了表触发器和存储过程,则再次不需要在计算机上安装 Access 即可运行这些表级触发器和过程。
【讨论】:
创建 MS Windows 的虚拟机并在那里进行测试。是的,这是可能的。
【讨论】: