在网页上进行Access数据库压缩

   多年前给客户做的数据库,用得是 access,已经两年,长得非常大,有 1G 这么大。随着您不断添加、更新数据以及更改数据库设计,数据库文件会变得越来越大。导致增大的因素不仅包括新数据,随着数据库文件不断被遗留的临时对象和已删除对象所填充,其性能也会逐渐降低。其症状包括:对象可能打开得更慢,查询可能比正常情况下运行的时间更长,各种典型操作通常似乎也需要使用更长时间。

  所以对access数据库进行压缩也是势在必行。

  实在是会担心,如果不小心坏了,那可是救都救不回来。还好,备份一个 access 的数据库非常简单,就把那个档案复制一份,就解决了。甚至,还可以写一个 aspx 网页,来执行这个动作,让我在任何地方,只要有网络,就可以用网页来做备份,就算我用 iPad,iPhone,Android手机都可以。虽然是小题大作,一年不过做个两、三次的事,但是,若能够不让客户担心的情况下,做完这些保险的事,也会有让他们信任的感受。就算不是计算机自动化地来做,至少也是我自动地做,也算是自动化了啊!

  但是,只有备份,仍然不够,备份只解决了失效复原的第一步。接下来面临的是旧数据越来越多,如果不删除,档案越来越大,查询的时间越来越长,真的是无谓的浪费时间。所以,接下来完成了删除旧数据的功能。但是,这又产生一个不满足。虽然,数据删了,查询速度又回复以往的快速,但是,数据文件的大小,仍然维持一样。着实想想真是不开心。

  使用 office access,可以把 mdb 打开,然后在「主功能(左上的窗口)」->「管理」->「压缩及修复数据库」这个功能,把数据库压缩。


  这么做,就需要人工来做。并且要准备一台装有 MS access 的计算机才行。

  当然这工作,用指令也行,但还是要在装有 MS access 的计算机执行指令,然后用工作排程器执行(参考)。

  C:Program Files (x86)Microsoft OfficeOffice12MSACCESS.EXE c:Northwind.mdb /compact

  这种若要想用网页执行,则会因为某种限制而无法执行。猜测主要是因为 MSACCESS.exe 是桌面程序。执行后就卡住,没有把工作做完。这应该只是设定的问题,因为在开发环境是可以正常使用。但是在 IIS 的环境,就是卡住。有人提醒 service 程序也许不能与桌面互动而导致问题(参考)。我试过这方法也是失败。我们以前尝试过,如果是 console 程序,是可以的执行成功的。

  为了坚持要用网页执行,寻找许久,在微软的开发环境里,都会安装一个 dao。它只是一个 dll。只要把 dao.dll 复制一份在 bin 里面,然后引用它。只要用两行就搞定了。

  dao.DBEngine dbe = new DBEngine();

  dbe.CompactDatabase(target_uncompact, target_compact, null, null, null);

  如果,老板问,为什么两行程序要写快两个星期,那……,要请曹操的好朋友来回答了。

时间: 2024-08-31 21:17:30

在网页上进行Access数据库压缩的相关文章

C#写的控件运用在网页上可以访问数据库吗?

问题描述 我用C#做了一个控件在网页上能够正常显示,但是只要在控件中增加一个OdbcConnection,即使不做任何调用,页面加载也会失败,各位大虾,为什么? 解决方案 解决方案二:情况不好说,发代码上来看看解决方案三:可能是权限问题,有具体错误信息吗?解决方案四:不确定解决方案五:C#写的控件运用在网页上可以访问数据库吗?能访问解决方案六:同出错误报告.建议,catch{}跟踪一下.看看错误内容.解决方案七:报什么样的错啊解决方案八:该回复于2008-04-21 13:30:20被版主删除解

怎样使用Access数据库压缩文件

问:我们公司统一使用Access数据库,并且通过e-mail的发送来同步数据,但我发现这些文件都非常巨大,而用ZIP压缩后又变得很小.我不知道这是怎样造成的?有没有更好的解决办法? 答:对于某些操作,Access分配硬盘空间时存在一些问题,比如不自动收回已用的空间,这样就造成文件很大,这可能就是你提到的问题的原因.你可以使用菜单中的"工具(T)"|"数据库实用工具(D)"|"压缩和修复数据库(C)".在有些情况下,这会产生意想不到的结果,我有一次

使用.Net C#开发批量ACCESS数据库压缩软件

第一次写使用.NET C# 开发了一个稍稍像样子的软件,在这个软件开发过程中我查了好多资料,也学到了很多小技巧 像FolderBrowserDialog(用于浏览选择文件夹的对话框).MessageBox(消息处理对话框).DirectoryInfo(目录信息,可用于创建.检测是否存在等对目录的操作).FileInfo(文件信息,可用于文件的检测.文件信息的获取.复制等操作).DataGridView(数据表格控件,用于显示文件信息列表数据).DataRowView(对一些数据源信息进行筛选,排

Access数据库在线压缩的实现方法

如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSaccess来完成压缩操作,然后再上传! 需要注

Access数据库在线压缩的方法

  Access数据库在线压缩的方法       如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用M

Access数据库在线压缩的实现

 Access数据库在线压缩的实现: 如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能.  所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSacce

magento -- 为Magento提速再做一点小努力之用工具压缩网页上的图片

Magento的速度问题一直困扰着我,以至于把能提高页面访问速度的方式能试的都试一遍.今天讲的东西并不是Magento独有,只不过为了弥补Magento在速度上的劣势,显得更迫切一点. 现在的网站越做越复杂,网页上的图片运用的很多,特别是商城会放很多大图片来做广告图,让网页的越来越大,以凡客为例,凡客的首页大小是2.4M,其中2.3M是图片,也就是说图片占据了网页内容的绝大多数.假如能把所有图片的大小压缩10%,整个页面就可以小230KB,而这并不是不可实现的. Firebug这个插件应该每个做

asp在线备份access数据库程序

如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSaccess来完成压缩操作,然后再上传! 需要注

关于用 ADO 创建 Access 数据库

access|ado|创建|数据|数据库 要在网站上使用 Access 数据库,不必购买 Microsoft Access.可以在 Active Server Page 脚本中用 ODBC 数据资源管理器或 Data Link 程序或编程创建新的 Access 数据库.   ADO 本身没有创建新的 Access 数据库的方法.要在 Active Server Page 中创建一个新数据库,必须使用 ADOX.ADOX 包含在 MDAC 2.1 及其更新版本中,可从 Microsoft 下载(h