MS Access数据库大小庞大而没有数据?

时间:2015-04-30 10:14:54

标签: ms-access-2010

我有一个MS访问数据库,包含35个链接表,一些查询和另外35个报告。

数据库中没有物理表,因为其表的所有数据都来自链接的后端MS Access数据库。现在的问题是,前端数据库大小超过1 GB。怎么样和为什么?我该如何解决?

3 个答案:

答案 0 :(得分:1)

首先,请尝试HansUp的建议。

但是,如果这并没有像你期望的那样缩小它,那么试试这个:

制作一个名为decompile.bat的文件。在其中,输入命令:

"C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "C:\Your\Path\To\YourFrontEnd.accdb" /nostartup/decompile

编辑适合的路径。将此批处理文件放在与前端相同的目录中。

使用:

  1. 在Windows资源管理器中双击运行decompile.bat
  2. 在Access中:
    • 按Alt-F11转到Visual Basic编辑器
    • 单击“调试”,然后单击“编译”
    • 保存,然后退出Visual Basic编辑器
    • 在主Access窗口中,单击“数据库工具”,“压缩和修复数据库”
  3. 完成后,退出Access
  4. 你应该注意到你的前端要小得多。

答案 1 :(得分:1)

那是很晚的加法,但我想知道为什么没有人指出问题的原因!微软表示原因是:

如果您每次循环都没有释放记录集的内存 通过记录集代码,DAO可以重新编译,使用更多的内存和 增加数据库的大小。

解决方法:

使用Recordset对象的Close方法显式关闭 当您不再需要记录集时记录集的内存。如果 数据库的大小已增加,因为您没有使用“关闭” Recordset对象的方法,可以减小 通过运行“压缩和修复”实用程序(在“工具”上, 菜单)。

https://docs.microsoft.com/en-us/office/troubleshoot/access/prevent-database-bloat-dao

我曾经使用过“数据库工具”功能区中的“压缩和修复工具”,它确实将几乎为空的数据库的大小从2.0 GB(最大大小)减少到3.41 MB! >

答案 2 :(得分:0)

我只是碰到了这个。我们使用访问数据库来存储项目数据。在大多数情况下,它们保持不到一兆字节。然后,我从一个客户那里得到一个问题,那就是服务器上的存储成本正在上升,因为某些数据库正在增长到数十兆和几百兆。所以我搜索了我的东西,发现了一个数据库!

我正在使用Office 7,并且可以确定它仍在365中。

解决方案:

通过访问中的Office按钮(左上方)。转到管理->备份数据库。对我来说,它将那个1 gig数据库复制到720k数据库。而且,当然,它可以很好地打开并且所有数据都在那里。我发现紧凑和修复备份

的结果相差甚远

我不知道为什么微软允许这种情况发生,我找不到合理的解释。