ADO 的数据库压缩技巧,真的是老项目救星。Access 用久了,难免卡顿甚至报错,尤其是那种还在用 .mdb
的老系统。用 ADO + JRO,压缩一下,不仅体积小了,性能也能提不少。
ADO本身就是搞数据操作的利器,能连各种数据库,像 Access、SQL Server 都不在话下。你只要配好连接字符串,像Provider=Microsoft.Jet.OLEDB.4.0
这种,就能开始折腾。
不过要玩压缩,你得搞清楚JRO这玩意。它是 Access 专用的组件,里面的JetEngine
对象了CompactDatabase
方法。名字听着就知道干嘛的,对吧?
比如你写段 VB 代码:
Dim jro As New jro.JetEngine
jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\nwind2.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\abbc2.mdb;Jet OLEDB:EngineType=4"
一压一个准,原来的数据库立马瘦身。而且还能“顺便”修复一些小毛病,像删除残留数据啊、修正索引啥的,都一块搞定了。
记得,压缩=优化+修复。虽然 ADO 新版本不支持原来的RepairDatabase
方法,但压缩照样能救急。蛮适合做个后台工具或者定时脚本,批量跑。
你要是常和 Access 打交道,尤其维护老系统,真的推荐你试试。必要组件就几个,MDAC 2.1+和JRO 2.1+,装好就能跑。如果你想看看别的语言怎么用,比如 VB、VC、ASP,也有些参考链接可以戳。