【问题标题】:MS Access as databaseMS Access 作为数据库
【发布时间】:2011-10-27 22:19:47
【问题描述】:

我们计划开发一个使用 MS Access 作为 DB 的桌面应用程序。但我们有一定的疑问? 1.当我们在客户端机器上开发后安装这个应用程序时,它需要MS Acess吗? 2. 如果是,他们需要从 Microsoft 购买 MS Access 许可证还是免费的? 3. 如果系统上有MS Access,我们如何在安装软件时进行检查?如果不是,我们如何将 MS Access 与我们的应用程序一起安装?

【问题讨论】:

  • @Vinay:在下面的其中一个 cmets 中,您声明您的数据存储要求是“巨大的”。请记住,Access .mdb/.accdb 文件的硬限制为 2GB。至于在数据存储中存储图像,这几乎可以肯定是个坏主意,但这确实是一个单独的问题。
  • 您将使用 MS Access 作为前端(即,使用它创建表单和报告)还是仅作为后端数据存储?
  • 这能回答你的问题吗? sql script to create a new database

标签: ms-access desktop


【解决方案1】:

在您对 Haz 和 duffymo 的 cmets 中,您表示您的意图是在数据库中存储“大尺寸图像”。这不是 MS Access 的最佳实践。由于图像的存储方式,db 文件的大小将比图像文件的大小增加更多。从 Access 2007 开始,有一种改进的存储方法可以减少这种膨胀,但这仍然是一个问题。此外,这可能会破坏交易,因为 Access db 文件的绝对硬连线文件大小限制为 2 GB……您的数据库可能无法容纳足够大的图像来满足您的需求。

我不清楚您是否担心需要安装 Access 本身。对于最近的(自 Win 2000 起)32 位 Windows 版本,使用 Access db 文件所需的组件包含在操作系统中。如果您使用的是 64 位 Windows,您可能需要获取 2007 Office System Driver: Data Connectivity Components

只有当您的应用程序将 Access 用于数据存储之外,才需要安装 Access。使用 Access 作为前端客户端(带有 Access 表单、报告等)的应用程序需要安装某种形式的 Access,但它不必是完整版本。您可以为 Access 运行时版本设计您的应用程序,该版本从 Access 2007 开始免费:

  1. Access 2007 Download: Access Runtime
  2. Microsoft Access 2010 Runtime

但是,如果您在应用程序前端使用其他东西(例如 Dot.Net),则不需要安装任何形式的 Access。

【讨论】:

    【解决方案2】:

    永远不要将大图像存储在访问数据库中。大数据库是慢数据库。使用 vba 检查和创建文件路径并将图像存储在数据库之外。打我的代码来做到这一点

    【讨论】:

      【解决方案3】:

      MS Access 通常是开发分布式数据库应用程序最便宜的方法,坦率地说,您应该让您的客户购买许可证,因为该工具可以满足您的要求。我认为从头开始构建桌面应用程序通常是荒谬的,因为您可能会花费超过 100 美元的时间来构建 MS Access 开箱即用的功能。除非您免费从事这项工作,否则购买软件或软件组件以帮助加快交付始终是一个好主意。

      一个警告。 Access Db 文件限制为 2gb。如果必须存储超出此范围的数据,则需要将 Access 数据库连接到更大的数据库或创建复杂的分区策略。

      【讨论】:

        【解决方案4】:

        这取决于您的软件的工作方式。您是否有调用 Access DB 的程序,或者您的程序是否使用访问表单实现?

        如果您只是将 Access 用作数据库

        1. 不,您只需要 JET 运行时
        2. 您可以在 microsoft 网站上找到 JET 运行时
        3. 这取决于您使用的安装程序包。如果您使用典型的 .NET 安装程序,则可以将 MDAC MSI 作为依赖项。

        如果您对数据库和程序使用 Access

        1. 是的
        2. 是的,他们需要购买。就像您需要购买它来开发数据库一样。不,它不是免费的
        3. 如果他们的计算机上没有 Access,他们需要购买它,然后插入 CD 并完成安装。

        【讨论】:

        • 嗨,哈兹,但是我的数据存储需求非常大,图像尺寸很大,数据量很大。SQLite 够用吗?
        • 我不建议使用 SQLLite,我建议获取免费的 JET 安装程序(如果您只是使用 Access 作为 DB),或者如果您的程序也是用 access 编写的,请让您的客户购买 Access . SQLLite 只会替换数据库引擎,如果这是 Access 中的唯一位,则无需这样做。如果您的整个应用程序都在 Access 中,那么 SQLLite 不会神奇地为您重写代码。
        • 没有“Jet 运行时”之类的东西。 Jet 4 安装在从 Windows 2000 开始的每个 Windows 副本上,因此如果您使用 Jet 4 作为数据存储,则无需安装它。如果要使用 ACCDB 格式,则需要安装 ACE,可从 Microsoft 下载。
        • Access 运行时从 Access 2007 开始免费,因此,不,您不需要为所有用户购买 Access。但是,开发人员确实需要完整的 Access 副本,并且必须购买,因为设计工作无法在运行时完成。
        猜你喜欢
        • 2013-03-15
        • 1970-01-01
        • 2011-03-28
        • 2013-04-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多