使用访问数据库分发 c# 应用程序

Posted

技术标签:

【中文标题】使用访问数据库分发 c# 应用程序【英文标题】:Distributing c# app with access database 【发布时间】:2011-06-09 09:08:40 【问题描述】:

我有一个使用 Access 数据库的 C# 应用程序。数据库很简单(只有2张表),我已经把它转换成mde文件了。

我正在使用 OleDbConnection、OleDbDataReader 和 OleDbCommand 来操作数据,使用 Microsoft.Jet.OLEDB.4.0。

我是否需要分发 Access 运行时或 Jet(据我了解,它已经存在于我的用户计算机上)就足够了吗?如果 Jet 足够了,我是否需要关心我的用户使用的是哪个版本?

【问题讨论】:

由于您只是将文件用作数据存储,因此转换为 MDE 根本没有任何作用—— MDE 是关于 VBA 代码,而不是关于数据。虽然转换为 MDE 不会对数据访问造成任何损害,但它不会带来任何好处。在浪费时间使用它们之前,请阅读有关这些内容的帮助文件。 【参考方案1】:

您不需要分发任何 Access 或 Office 运行时。您的应用程序只需要 Jet 连接到您的数据库文件。

【讨论】:

谢谢,我以为是这样。据推测,如果我建议我的用户安装最新的 Windows 更新,这将确保他们拥有最新版本的 Jet。 @NiMuSi 是的,通常是这样【参考方案2】:

确定并确定默认情况下您的开发计算机上可能未安装哪些(如果有的话!)其他依赖项的最佳方法是尝试

使用虚拟机测试您的应用程序,一个很好的方法是使用Internet Explorer Application Compatibility VPC Image (如果您不想要 Vista/Windows 7,请向下滚动查看 XP)。

这样做将为您提供“我是否需要分发 Access 运行时”的答案(我认为这是“否”,尽管这可能仅适用于 mdb 而不是 mde)和你还在用的其他东西=)

【讨论】:

【参考方案3】:

我认为您需要在安装时检查 MDAC 版本并在需要时安装它。我认为您需要最低 MDAC 2.8。

【讨论】:

以上是关于使用访问数据库分发 c# 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

应用程序的临时分发和撤销访问权限

使用 C# 访问系统目录

吊销分发证书后无法访问钥匙串

在专用网络上分发商店应用程序的选项

将 iOS 应用程序提交到商店,但无需访问开发者计划帐户,而是提供配置文件和分发证书

配置嵌入式 H2 用户以进行分发