我有一个大约有400万行的Access数据库表。我想这样做是为了使用MS Access Design View添加一个具有自动编号类型的列(字段)。但是当我尝试这样做时,访问会出错并说:“查询无法完成。查询的大小大于允许的最大大小(2 GB),或者此操作没有足够的临时空间。“
我拥有的是:
Column1 Column2 . . .
------- -------
我想要的是:
Number Column1 Column2 . . .
------ ------- -------
到目前为止我尝试了什么:
有什么方法可以解决这个问题吗?或者还有其他办法可以做我想做的事吗?
答案 0 :(得分:1)
尝试创建一个新表,然后将所有内容从旧表推送到新表。 最终你可以删除旧的并重命名新的。 如果你有关系,你也需要处理它们。 因为自动编号是一个新列,我想它还没有涉及任何一个......
和@jonathan评论是正确的...如果您的应用程序中有提供者,请转到SQL Express或SQL服务器(MS world)或mySQL。
答案 1 :(得分:1)
每个OP请求:
它告诉你,你正在达到Access的最大功能。检查将数据库移动到其他地方,可能是SQLServer或mySQL
答案 2 :(得分:0)
良好的数据管理是任何数据库的关键,但对于访问更为重要,因为它与专用数据库服务器相比具有大小/性能限制。
如果不能选择移动到专用服务器,您应该查看非常大型数据集的某种形式的存档。移动超过6个月的数据(时间刻度将取决于您要添加的数据量)
此外,查看请求似乎您可能希望添加自动编号字段以唯一标识您的记录,如果是这种情况,那么确保在设置时设置唯一标识符(主键)是一种好习惯。该表首先创建。
除此之外,您还可以尝试以下方法: 将数据库移动到具有足够可用空间的本地驱动器(如果尚未安装在本地驱动器上)。 确保您在具有大量RAM和虚拟内存的计算机上运行。 执行紧凑并修复数据库,因为这可能会充分减少表的大小(这可能需要一段时间)。 尝试再次添加自动编号列。