'创建数据库Private Sub Create(ByVal mdbPath As String)If File.Exists(mdbPath) ThenThrow New Exception("目标数据库已经存在,无法创建")End IfmdbPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPathDim cat As ADOX.Catalog = New ADOX.Catalog()cat.Create(mdbPath)End Sub'''' <summary>'''压缩修复数据库''' </summary>''' <param name="mdbPath"> 被压缩的数据库路径+数据库文件名</param>''' <remarks></remarks>Public Sub Compact(ByVal mdbPath As String)'If Not File.Exists(mdbPath) = False Then '检查数据库是否已存在 '    Throw New Exception("目标数据库不存在,无法压缩")'End IfDim temp = GetSysDatePartTime()Dim FilePath As String = mdbPath.Substring(0, mdbPath.LastIndexOf("/") + 1)Dim DbFileName As String = mdbPath.Substring(mdbPath.LastIndexOf("/") + 1, mdbPath.Length - mdbPath.LastIndexOf("/") - 1)File.Copy(mdbPath, FilePath + "DbBak/Bak" + temp + ".mdb", True)Dim StrProvid As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="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, mdbPath, true);  //最后删除临时数据库File.Delete(temp);End Sub'备份数据库,mdb1,源数据库绝对路径; mdb2: 目标数据库绝对路径 Public Sub BackUp(ByVal mdb1 As String, ByVal mdb2 As String)If File.Exists(mdb1) = False ThenThrow New Exception("源数据库不存在")End IfTryFile.Copy(mdb1, mdb2, True)Catch ixp As IOExceptionThrow New Exception(ixp.ToString())End TryEnd Sub'恢复数据库,mdb1为备份数据库绝对路径,mdb2为当前数据库绝对路径Public Sub Recover(ByVal mdb1 As String, ByVal mdb2 As String)If File.Exists(mdb1) = False ThenThrow New Exception("备份数据库不存在")End IfTryFile.Copy(mdb1, mdb2, True)Catch ixp As IOExceptionThrow New Exception(ixp.ToString())End TryEnd Sub''' <summary>''' 检查模板文件是否存在''' </summary>''' <param name="TempDbFile">模板文件所在路径及模板文件(全局路径)</param>''' <returns></returns>''' <remarks></remarks>Public Function CheckTempletFileExists(ByVal TempDbFile As String)Return File.Exists(TempDbFile)End Function''' <summary>''' 复制文件到新位置''' </summary>''' <param name="SourceFile">源文件</param>''' <param name="DestcentFile">目标文件</param>''' <remarks></remarks>Public Sub CopyDbToNewPos(ByVal SourceFile, ByVal DestcentFile)TryFile.Copy(SourceFile, DestcentFile, True)Catch ixp As IOExceptionThrow New Exception(ixp.ToString())End TryEnd Sub

VB.NET创建/修复/压缩/备份/恢复ACCESS数据库相关推荐

  1. mysql back blog_mysql qpress压缩备份恢复

    说明: 1.前面博客已经介绍过gzip压缩方法,备份正常,但后来测试恢复的时候,发现命中bug,报错如下: InnoDB: Page [page id: space=9494, page number ...

  2. pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。

    SYNOPSIS pg_restore [ option...] [ filename] DESCRIPTION 描述 pg_restore 是一种用于恢复由 pg_dump(1) 创建的任何非纯文本 ...

  3. xtrabackup全量、增量备份恢复mysql数据库

    一. 全量备份恢复: 查看原表内容: MariaDB [(none)]> select * from testdb.students; +----+------------+------+--- ...

  4. xtrabackup备份恢复MySQL数据库

    1. 全量备份恢复: 查看原表内容: MariaDB [(none)]> select * from testdb.students; +----+------------+------+--- ...

  5. mysql gtid 备份恢复_MYSQL数据库备份恢复

    在实例存活的情况,可以在实例状态中查询ALL_GTID. 在实例崩溃的情况,无法在实例状态中查询ALL_GTID.可以通过查询BINLOG中的Previous-GTIDs计算来获得ALL_GTID. ...

  6. ASP.NET备份恢复SqlServer数据库

    备份SqlServer数据库 核心技术: using System.Data.SqlClient; using System.IO; string SqlStr1 = "Server=(lo ...

  7. 【SQL Server备份恢复】数据库恢复:对page header的恢复

    前两天在论坛,看到有个网友提问,说是: 格式化磁盘前把.mdf和.ldf拷贝出来了,然后格式化完成后在拷贝回去(拷贝前后都没有错误提示,文件大小也一样),在企业管理器中附加数据库出错,提示" ...

  8. asp备份恢复mssql数据库的代码

    其实就是用自带的sql命令 备份用的 <%  SQL="backup database 数据库名 to disk='"&Server.MapPath("ba ...

  9. shell脚本导出oracle数据库,Shell脚本备份恢复Oracle数据库简单示例

    exp_p.sh #!/bin/sh #$1生成dmp文件保存路径 if [ -d $1 ]; then echo $1 exist #用户名/密码 生成文件名称根据当天 exp_p.sh #!/bi ...

  10. mysql数据库压缩备份_Mysql备份压缩及恢复数据库方法总结

    一般情况我们通过mysqldump来备份MySQL数据库,并上传至其它备份机器.如果数据库比较大,在备份传输的时候可能会慢,所以我们尽量让备份的文件小一些. 在写自动备份脚本时,最好把备份结果直接压缩 ...

最新文章

  1. [正能量系列]赋闲的程序员(三)
  2. sonar:查询全部项目的bug和漏洞总数(只查询阻断/严重/主要级别)
  3. 【MATLAB】基本绘图 ( 图形属性 | 绘图对象 | 图形属性界面 | 坐标轴属性 | 线属性 | 文本属性 | 图形属性设置策略 )
  4. 支架预压弹性变形值计算_桥梁支架的预压方法与流程
  5. 用python画动态皮卡丘_利用Python绘制萌萌哒的皮卡丘
  6. 机房系统(二)——【数据设定 注册 】
  7. 点击图片显示大图(有多张图片可以左右滑动)
  8. 网卡 远程唤醒问题故障排除
  9. vue-cli+webpack项目,修改项目名称
  10. Android-简单的图片验证码
  11. Android 简介:Android SDK 和开发框架简介
  12. 【干货】陆奇:新格局下的创业创新机会.pdf(附下载链接)
  13. 如何在Python中打印到stderr?
  14. 专访 Swin Transformer 作者胡瀚:面向计算机视觉中的「开放问题」
  15. JMeter之BeanShell的变量使用方法
  16. excel两个表格数据对比_用vlookup把两个或者多个excel表格,整合到一个表格中
  17. BUUCTF MISC刷题
  18. 最凄美的爱情故事,让每对爱人更长久的文章!!
  19. JavaScript系列---for循环(打印星星)
  20. rec删除xposed_刷机,twrp,安装xposed

热门文章

  1. Windows 11 Insider Preview Build 22000.132 官方简体中文版 iso 下载
  2. 炫彩文字404动画页面源码
  3. 证书信任管理器(用于https请求) X509TrustManager
  4. win7添加网页ftp服务器地址,win7添加ftp服务器地址
  5. Windows安装hadoop
  6. esxi01磁盘扩容_给EXSI虚拟机中linux硬盘扩容
  7. Linux命令之新增组groupadd
  8. MathType求和符号中的黑三角该如何消除
  9. ubuntu 连接双显示器
  10. 王者荣耀游戏时间计算机制,王者荣耀荣耀战力怎么算,荣耀战力计算机制详解...