VB.NET压缩ACCESS数据库
'创建数据库 Private Sub Create(ByVal mdbPath As String) '''' <summary> Dim temp = GetSysDatePartTime() Dim FilePath As String = mdbPath.Substring(0,mdbPath.LastIndexOf("/") + 1) File.Copy(mdbPath,FilePath + "DbBak/Bak" + temp + ".mdb",True) Dim jt As JRO.JetEngineClass = New JRO.JetEngineClass() jt.CompactDatabase(StrProvid + mdbPath,StrProvid + FilePath + "/DbBak" + temp + ".mdb") File.Delete(mdbPath) File.Copy(FilePath + "/DbBak" + temp + ".mdb",mdbPath,True) File.Delete(FilePath + "/DbBak" + temp + ".mdb") '//检查数据库是否已存在 { throw new Exception("目标数据库不存在,无法压缩"); } //声明临时数据库的名称 string temp = DateTime.Now.Year.ToString(); string temp2=null; 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 = mdbPath.Substring(0,mdbPath.LastIndexOf("//") + 1) + temp; //定义临时数据库的连接字符串 temp2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + temp; //定义目标数据库的连接字符串 string mdbPath2=null; mdbPath2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath; //创建一个JetEngineClass对象的实例 JRO.JetEngineClass jt = new JRO.JetEngineClass(); //使用JetEngineClass对象的CompactDatabase方法压缩修复数据库 jt.CompactDatabase(mdbPath2,temp2); //拷贝临时数据库到目标数据库(覆盖) File.Copy(temp,true); //最后删除临时数据库 File.Delete(temp); '备份数据库,mdb1,源数据库绝对路径; mdb2: 目标数据库绝对路径
''' <summary> ''' <summary> ''' 复制文件到新位置 ''' </summary> ''' <param name="SourceFile">源文件</param> ''' <param name="DestcentFile">目标文件</param> ''' <remarks></remarks> Public Sub CopyDbToNewPos(ByVal SourceFile,ByVal DestcentFile) Try File.Copy(SourceFile,DestcentFile,True) Catch ixp As IOException Throw New Exception(ixp.ToString()) End Try End Sub (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |