c#中实现对access数据库mdb文件的压缩和修复

[ At 6/18/2010 By wukong   0 comments ]

在c#中实现对access数据库mdb文件的压缩和修复有多种方法,本文介绍通过jro(Microsoft Jet and Replication Objects Library) com组件实现的方法。
首先要在c#的项目中引用jro的com 组件 Microsoft Jet and Replication Objects Library。
然后使用如下函数代码

 
  1.     /// <summary>
  2.     /// 压缩和修复mdb文件 www.7es.cn 悟空的博客
  3.     /// </summary>
  4.     /// <param name="filename">要压缩修复的mdb文件路径</param>
  5.     /// <returns>成功与否</returns>
  6.     public static bool CompactMDB(string filename)
  7.     {
  8.         try
  9.         {
  10.             if (filename.Length > 0)
  11.             {
  12.                 return false;
  13.             }
  14.             string oldfile = filename;
  15.             //建立一个临时mdb文件
  16.             string tmpfile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(oldfile),
  17.                 Guid.NewGuid().ToString("N") + ".mdb");
  18.             //压缩类
  19.             JRO.JetEngineClass eng = new JRO.JetEngineClass();
  20.             //压缩mdb文件到临时文件
  21.             eng.CompactDatabase(
  22.                 string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", oldfile),
  23.                 string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", tmpfile)
  24.                 );
  25.             //删除旧文件
  26.             System.IO.File.Delete(oldfile);
  27.             //修改临时文件为原文件名
  28.             System.IO.File.Move(tmpfile, oldfile);
  29.  
  30.             return true;
  31.         }
  32.         catch (Exception ex)
  33.         {
  34.             ex.ToString();
  35.             return false;
  36.         }
  37.     }
  38. }

调用方法如

CompactMDB("c:\\\\abc.mdb");

c#中实现对access数据库mdb文件的压缩和修复一文来自悟空的博客www.7es.cn

« ManualResetEvent和AutoResetEvent的区别c#实现Base64算法 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By 空空如也 

Copyright 167-2009 www.7es.cn . Some Rights Reserved. Email:iamwgh@msn.com QQ:49556
Friends site:Null