压缩Access数据库#region 压缩Access数据库
/**//// <summary>
/// 压缩Access数据库
/// </summary>
/// <param name=&qu
public static void CompactAccess(string DBPath)
...{
if (!File.Exists(DBPath))


...{

throw new Exception("目标数据库不存在,无法压缩");

}

//声明临时数据库名称

string temp = DateTime.Now.Year.ToString();

temp += DateTime.Now.Month.ToString();

temp += DateTime.Now.Day.ToString();

temp += DateTime.Now.Hour.ToString();

temp += DateTime.Now.Minute.ToString();

temp += DateTime.Now.Second.ToString() + ".bak";

temp = DBPath.Substring(0, DBPath.LastIndexOf("\") + 1) + temp;

//定义临时数据库的连接字符串

string temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+temp;

//定义目标数据库的连接字符串

string DBPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+DBPath;

//创建一个JetEngineClass对象的实例

JRO
//使用JetEngineClass对象的CompactDatabase方法压缩修复数据库

jt.CompactDatabase(DBPath2, temp2);

//拷贝临时数据库到目标数据库(覆盖)

File.Copy(temp, DBPath, true);

//最后删除临时数据库

File.Delete(temp);

}