【问题标题】:New column can not be added to Access database无法将新列添加到 Access 数据库
【发布时间】:2016-11-24 05:55:18
【问题描述】:

我有一个包含大约 400 万行的 Access 数据库表。我想要这样做以使用 MS Access 设计视图添加具有自动编号类型的列(字段)。但是当我尝试这样做时,访问会出错并说:“无法完成查询。查询的大小大于允许的最大大小(2 GB),或者没有足够的临时空间来执行此操作。”

我拥有的是:

Column1    Column2   .   .   . 
-------    -------   

我想要的是:

Number   Column1    Column2  . . . 
------   -------    -------

到目前为止我尝试了什么:

  • 从注册表更改每个文件的 maxLocks 值。
  • 使用 Access 压缩和修复数据库。

有没有办法解决这个问题?还是有其他方法可以做我想做的事情?

【问题讨论】:

  • 它告诉您您正在达到 Access 的最大功能。检查将数据库移动到其他位置,可能是 SQLServer 或 mySQL。
  • @JonathanM 你应该把它写成答案:),我在 SQL 2008 上试过,它奏效了。如果你写这个作为答案,我会接受,谢谢你的提示。

标签: database ms-access autonumber


【解决方案1】:

每个 OP 请求:

它告诉您您正在达到 Access 的最大功能。检查将数据库移动到其他东西,可能是 SQLServer 或 mySQL

【讨论】:

    【解决方案2】:

    尝试创建一个新表,然后将旧表中的所有内容推送到新表。 最终你可以删除旧的并重命名新的。 如果你有关系,你也需要处理它们。 由于自动编号是一个新列,我想它还没有参与其中....

    并且@jonathan 的评论是正确的...如果您的应用程序中有提供程序,请移至 SQL Express 或 SQL 服务器(MS 世界)或 mySQL。

    【讨论】:

      【解决方案3】:

      良好的数据管理是任何数据库的关键,但访问更是如此,因为与专用数据库服务器相比,它确实存在大小/性能限制。

      如果不能选择移动到专用服务器,您应该查看某种形式的非常大数据集的存档,例如移动超过 6 个月的数据(时间尺度将取决于您添加的数据量)

      此外,在查看请求时,您似乎想要添加自动编号字段来唯一标识您的记录,如果是这种情况,那么最好确保您在何时设置了唯一标识符(主键)首先创建表。

      抛开这些,暂时您可以尝试以下方法: 将您的数据库移动到具有大量可用空间的本地驱动器(如果还没有的话)。 确保您在具有大量 RAM 和虚拟内存的机器上运行。 对数据库执行压缩和修复,因为这可能会充分减小表的大小(这可能需要一段时间)。 尝试再次添加您的自动编号列。

      【讨论】:

        猜你喜欢
        • 2015-10-31
        • 2014-02-15
        • 1970-01-01
        • 2021-09-22
        • 1970-01-01
        • 2016-02-27
        • 1970-01-01
        • 2022-01-05
        • 1970-01-01
        相关资源
        最近更新 更多