用过Access数据库的朋友一定知道有个“压缩和修复数据库”的功能。

为什么要 “压缩和修复数据库”

首先是当然是压缩,减少文件大小。因为Access是一种文件型数据库,它所有的数据其实都是存储在一个扩展名为mdb的文件中,所以这个形式的数据库有时也称为Flat File类数据库。当然MS一贯有把名字改来改去的习惯,所以在Access 2007中新格式的Access数据库文件的扩展名已经变成了accdb了:)。随着数据库中数据的不断增加、修改和删除,数据库文件的体积是不断增长的。即使你删除了某些数据,实际上文件大小并不会减少。这是由于删除数据时,实际上只是在数据库中标记为“已删除”,并未真正删除的缘故。

其次,是修复数据库文件。实际上把数据库的所有数据放在一个磁盘文件上是风险较大的。一旦这个文件损坏,可能会造成无法打开数据库文件的麻烦。因为各种外部原因导致Access文件发生写入不一致的情况,就可能无法再打开这个Access数据库。特别是在存在多个客户端访问同一个数据库时(如一般的小型网站,使用Access数据库很常见),更容易出现“写入不一致”的情况。

“压缩和修复数据库”如何工作

执行此功能时,会新建一个临时Access文件,然后把需要压缩的文件中所有数据记录都导到这个临时文件中,并把原文件删除。最后,再把临时文件改名为原来文件的名称,拷回原目录。

Access 2007中怎么找不到“压缩和修复数据库”功能了

相较之前的版本,Office 2007中对程序界面和功能分类作了较大的调整,以此希望可以让用户更容易地找到最常用的功能,改善使用体验。确实,这样的改进值得肯定。一开始可能不太习惯,但用了一段时间就会感觉到确实是方便一些。但对于像“压缩和修复数据库”这样的功能,一下子要找到还真不容易。之前的Access 2000/XP/2003中,这一功能都是在工具菜单项中,但是Access 2007中需要这样操作:

单击“Office 按钮” ,指向“管理”,然后在“管理此数据库”下单击“压缩和修复数据库”。

http://office.microsoft.com/client/helppreview.aspx?AssetID=HA102355832052&QueryID=3f9Dvocsl&respos=1&rt=2&ns=MSACCESS&lcid=2052&pid=CH100948232052#3

呵呵,要是不查帮助,是要找一会呢。

怎样在Access程序之外进行“压缩和修复数据库”

可以通MDAC中的“JRO.JetEngine”对象来对Access文件进行压缩,具体的方法名为CompactDatabase。

如果需要界面,当然可以自己用Delphi/VB等画一个,然后调用此方法即可。

甚至微软官方在2000年左右也发布过一个这样的工具,称为“Jet Database Compact Utility”。我见过的一个是4.0版本的(和Jet版本一致),除了压缩功能外,还有一些额外的选项。

有关Access的压缩和修复数据库功能相关推荐

  1. Asp.net在线备份、压缩和修复Access数据库

    1.问题的提出 在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库.在数据库的使用过程中经常性进行增加和删除操作.事实上,Microsoft Access并不能有效地释放 ...

  2. C#压缩和修复Access数据库

    介绍     下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"ACCESS数据库还是一个".mdw"网络共享数据库,这个过 ...

  3. oracle+dbcc+checkdb,dbcc checkdb 修复数据库

    MS SQL 数据库状态为SUSPECT的处理方法 当SQL SERVER数据库状态为质疑(SUSPECT)状态时,我们可以用以下方法来处理: 1. 修改数据库为紧急模式:ALTER DATABASE ...

  4. SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复

    SQL数据库无法附加 系统表损坏修复 数据库中病毒解密恢复 开发此工具是为了 让手工恢复数据库物理故障时 更加简单便捷直观, 本工具用于物理修复独立处理大部分问题以及与DBCC配合完成修复各种数据库错 ...

  5. 杰奇数据库mysql_杰奇模板出现Unable to save result set in…可尝试修复数据库

    使用 当出现这个报错的时候,可以通过尝试修复数据库来解决,一般情况下都可以解决. 其他需要修复数据库的情况请参考一下方法:(别处抄来的) 网站前台突然没数据显示了,但网页的框架还在,就是数据库里的数据 ...

  6. 【Flashback】Flashback Database闪回数据库功能实践

    [Flashback]Flashback Database闪回数据库功能实践 上一篇 / 下一篇  2012-04-07 21:16:40 / 个人分类:备份与恢复 查看( 278 ) / 评论( 2 ...

  7. h5制作 php 开源,PHP源码:2019最新仿易企秀V15.1完整版开源版源码,修复采集功能、新增同行站模板采集等...

    源码说明: 更新功能如下: 新增同行站模板采集 修复模板中心采集方法 修复自定义场景加载LOGO问题 预览H5不在是默认封面加载 可以自定义自己的网站LOGO 安装说明: 把源码包上传到网站根目录 然 ...

  8. 极佳mysql修复数据库修复_极佳SQL数据库修复工具下载

    极佳SQL数据库修复工具支持MSSQL 2000.2005.2008.2008R2.2012 支持各种ERP数据库:金蝶.速达.用友.管家婆等等基于MSSQL数据库.支持数据库无法附加 报错等故障. ...

  9. SCADA软件平台数据库功能的应用

    一.前言 SCADA系统是以计算机为基础的过程控制和调度自动化系统,它对工业现场的设备进行监视和控制,并实现数据采集与分析.设备运行控制.异常报警等.数据库系统作为SCADA系统中的重要组成部分,是进 ...

最新文章

  1. 《梦断代码Dreaming In Code》阅读笔记(三)
  2. leetcode17. 电话号码的字母组合--每天刷一道leetcode算法系列!
  3. Mysql中设置默认时间为当前值
  4. C/C++开发者必不可少的15款编译器+IDE
  5. 源码安装nginx以及平滑升级
  6. java sdk下载_Java Sdk下载 | 保利威帮助中心
  7. python标准库之zipfile
  8. java properties $_Java读取Properties文件的六种方法
  9. 出现画面抖动_手机拍照时模糊,抖动?赶紧来拯救你的拍摄技术吧!
  10. PR学习笔记总结,附带剪辑成品
  11. html特殊符号对照表
  12. Windows下批量合并文本文件
  13. 二进制图片转换成BMP位图(C++)
  14. 数独-- 一个高效率生成数独的算法
  15. 关于安卓如何实现计时器chronometer的暂停和继续计时功能
  16. Android应用接入微信开放平台
  17. 20190122——回首向来萧瑟处,无人等在灯火阑珊处。 Java责任链
  18. 老男孩51CTO博客博文列表整理版20170620更新
  19. MATLAB 默认颜色风格
  20. mmdetection 环境配置与简单测试(mmrotate同理)

热门文章

  1. S3C2440实现dm9000网卡驱动程序移植
  2. 考研预报名、正式报名有区别?
  3. 周围剃光头顶留长发型_为什么很多秃头的人宁可留周围一圈头发也不剃成光头?...
  4. 塔菲尔曲线斜率的大小_塔菲尔曲线斜率是怎么获得的
  5. 电商4.0时代 新的「开端」
  6. 2022年区块链白皮书详解及内容分享
  7. 两种方法解决口算练习题
  8. 医学图像处理相关代码分享
  9. Open3d之计算点云边界框
  10. ArcGIS API FOR Silverlight资源