显示列表

当删除Access数据库中的数据时,数据库并不会变小,只有压缩后,才能变成正常大小。
除了手工操作压缩数据库,在C#的程序中也可以压缩Access数据库。
这要调用 msjro.dll 这个程序集中的JetEngineClass对象。

首先要引入程序集,引用 C:\Program Files\Common Files\System\ado\msjro.dll

代码如下:
string access = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("abc.mdb");
string accessTemp = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("abcTemp.mdb");

JRO.JetEngineClass jt = new JRO.JetEngineClass();
jt.CompactDatabase(access, accessTemp); // 开始压缩,会生成一个新数据库

这样会新生成一个 abcTemp.mdb 数据库文件,这个是压缩后。
再删除原来的数据库,并重命名压缩后数据库名称就可以实现效果。

返回摘要 | 分类(Asp.Net) | 访问(3) | 编辑