【问题标题】:How to increase MS Access 2007 database size?如何增加 MS Access 2007 数据库大小?
【发布时间】:2012-06-30 17:19:30
【问题描述】:

我开发了一个windows应用,后端DB是Access 2007。听说Access 2007的最大限制是2GB。

现在我的问题是,有没有办法将大小增加到超出该限制?如何为应用创建多个 db 以增加大小和性能?

【问题讨论】:

  • SQLServer Express 2008 有 10GB 的限制。下拉访问并切换到更好的数据库。
  • 如果我使用 SQLServer Express 2008,客户端的最低要求是什么?
  • 我同意 SQL Server 一旦超过 MS Access 大小限制是一个好主意。主要问题是正确维护 SQL Server 后端所需的额外培训。
  • 尺寸从何而来?对于大多数情况,2GB 足够大,没有 IT 部门的 SQL Server 可能会成为问题。

标签: .net database ms-access ms-access-2007


【解决方案1】:

我在一个 17 年有大量输入并且接近 2GB 限制的数据库上遇到了同样的问题。它已经被拆分,所以在那里什么都做不了。最后,我通过摆弄最大的表格发现问题出在嵌入的 JPG 图像中,该图像的数量非常大 - 例如,在访问表格中使用嵌入的员工或工人图像很流行。我现在正在实施的解决方案进展顺利。无论如何,所有图片都在一个文件中,因此请设计一种新表单,该表单使用超链接通过少量代码链接到图片。删除后端中的嵌入图像。我已经在数据库副本上对此进行了模拟。它将大小从 1.6 GB 减少到不到 300 MB - 所以在使用 SQL 之前,您可以将其视为一种解决方案

【讨论】:

    【解决方案2】:

    当我的数据库在表中导入我的外部数据时达到 2GB 时,我遇到了同样的问题。我只是在设置中禁用缓存

    转到文件 > 选项 > 当前数据库

    在缓存 Web 服务和共享点表下

    勾选“使用与 Microsoft Access 2010 及更高版本兼容的缓存格式”

    勾选“关闭时清除缓存”

    勾选“从不缓存”

    【讨论】:

      【解决方案3】:

      您可以将数据划分为一个或多个附加数据库文件,然后从您的主应用程序数据库创建指向附属表的链接。

      虽然该策略可以让您使用存储在 Access 中的超过 2 GB 的数据,但这并不是一个好的选择。一个陷阱是你不能在不同的 db 文件中的表之间强制执行引用完整性。仅这一事实就可能使分区对许多应用程序而言都无法启动。

      另一个问题是临时工作空间。当 db 引擎需要一个磁盘文件作为工作空间时,它使用一个临时文件。并且该临时文件也被限制为最大 2 GB。因此,如果您有 6 GB 的数据分布在 4 个 1.5 GB 的 db 文件之间,并且您需要做一些需要处理超过 2 GB 数据的事情,您可能会收到一条错误消息,抱怨磁盘空间不足。这并不意味着磁盘已满;这意味着所需的临时工作空间大于 2 GB。

      过去实际上已经进行过一次分区,我不想再这样做了。要求 Access 管理这么多数据是不合理的。我不得不花太多时间等待它去做我要求的几乎任何事情。将这项工作卸载到功能更强大的数据库系统会更好。因此,这不仅是总存储容量的问题,而且是存储数据库如何应对大型数据集的问题。您的 Access 应用程序可以成为客户端-服务器数据库的客户端。

      我还认为您应该严格检查您存储的内容。例如,有些人喜欢存储图像。我不。相反,我将路径存储到图像文件。其他文件类型也一样。也许您可能会发现您可以在不存储 BLOB 的情况下生活,您可以轻松地将数据库大小减小到 2 GB 限制以下,并继续使用 Access 作为存储。

      【讨论】:

        【解决方案4】:

        最大数据库大小为 2GB 减去系统对象所需的空间,但您可以尝试一种解决方法:拆分数据库。欲了解更多信息,请参阅:

        Office.com - Split an Access database

        MS KB304932 - How to manually split Access database

        【讨论】:

        • 另外,请务必定期压缩数据库,以防止不必要的垃圾堆积。我知道这并不能回答您关于如何增加访问数据库的大小限制的问题,但它将有助于防止您达到该限制。如果要将其设置为紧凑,则可以在关闭数据库时运行此代码。 vbadud.blogspot.com/2007/09/…
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多