Asp.net在线备份、压缩和修复Access数据库
1.问题的提出
在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库。在数据库的使用过程中经常性进行增加和删除操作。事实上,Microsoft Access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然占据着数据库的空间,使得数据库越来越大。不 但占用不必要的空间,而且降低了数据库的效率。特别在虚拟站点上的问题尤为突出。因此对Access数据库进行压缩瘦身很有实际意义。
虽然Access数据库自身具有“压缩和修复数据库”功能(工具è数据库实用工具è压缩和修复数据库)。但对一般使用者来说操作不方便。通常Accesss数据库放置在虚拟主机上,需要把它下载下来“压缩修复”完后再传上去很浪费时间,所以最好能在线对数据库进行压缩。
2.在线压缩数据库的实现
2.1.添加引用
在VS.Net环境的解决方案下添加引用。方法如下:项目→添加引用→选项卡→浏览(c:"program files"comm files"System"ado"msjro.dll)。
2.2.创建Web应用程序窗体
在Web窗体(DataBase.aspx)上放置一个按钮:
<asp:Button ID="CompactBtn" runat="server" Text=" 压缩数据库 " OnClick="CompactBtn_Click" />
再添加一个Label控件:
<asp:Label ID="MsgLabel" runat="server"></asp:Label>
2.3.代码状态下,添加引用
using System;
using System.IO;
using JRO;
2.4.添加代码
//压缩数据库
protected void CompactBtn_Click(object sender, EventArgs e)
{
string DbPath1, DbPath2, DbConn1, DbConn2;
DbPath1 = Server.MapPath("../App_Data/DataBase.mdb");//原数据库路径
DbPath2 = Server.MapPath("../App_Data/DataBase2.mdb");//压缩后的数据库路径
DbConn1 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbPath1;
DbConn2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbPath2;
try
{
JetEngine DatabaseEngin = new JetEngine();
DatabaseEngin.CompactDatabase(DbConn1, DbConn2);//压缩
File.Copy(DbPath2, DbPath1, true);//将压缩后的数据库覆盖原数据库
File.Delete(DbPath2);//删除压缩后的数据库
MsgLabel.Text = "数据库压缩成功!";
}
catch
{
MsgLabel.Text = "数据库压缩失败,请重试!";
}
}
3.备份数据库
3.1.创建Web应用程序窗体
在Web窗体(DataBase2.aspx)上放置一个按钮:
<asp:Button ID="BackUpBtn" runat="server" Text=" 备份数据库 " OnClick="BackUpBtn_Click" />
再添加一个Label控件:
<asp:Label ID="MsgLabel" runat="server"></asp:Label>
3.2.代码状态下,添加引用
using System;
using System.IO;
3.3.添加代码
//备份数据库
protected void BackUpBtn_Click(object sender, EventArgs e)
{
string DbPath1, DbPath2, DbName4DbPath2;
DbName4DbPath2 = DateTime.Now.ToString().Replace(":",".");
DbPath1 = Server.MapPath("../App_Data/DataBase.mdb");
DbPath2 = Server.MapPath("../App_Data/" + DbName4DbPath2 + ".mdb");
try
{
File.Copy(DbPath1, DbPath2, true);
MsgLabel.Text = "数据库备份成功到" + DbName4DbPath2 + ".mdb!";
}
catch
{
MsgLabel.Text = "数据库备份失败,请重试!";
MsgLabel.CssClass = "redColor";
}
}
4.总结
经过压缩使Microsoft Access真正释放占据的多余空间,数据库尽量减小,保证它最有效地运行。因此,在设计的过程中,不可忽视对Microsoft Access进行压缩的重要性。
建议压缩前先对数据库进行备份。
转载于:https://www.cnblogs.com/leeolevis/archive/2009/02/03/1383178.html
Asp.net在线备份、压缩和修复Access数据库相关推荐
- C#压缩和修复Access数据库
介绍 下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"ACCESS数据库还是一个".mdw"网络共享数据库,这个过 ...
- 如何修复ACCESS数据库
ACCESS数据库,使用时间超过2-3个月 或网站每日访问人数超过100个独立IP,都可能造成损坏,损坏后,用户的网站就可能会很慢,也可能导致服务器CPU一直100%,一般可以采用以下方法修复,如修复 ...
- access数据库应用计算机二级,全国计算机等级二级ACCESS数据库程序设计
全国计算机等级二级ACCESS数据库程序设计 语音 编辑 锁定 讨论 上传视频 <二级ACCESS数据库程序设计>课程覆盖计算机等级考试二级ACCESS数据库程序设计科目的所有笔试.机试考 ...
- 【原创】ASP.NET C# 对SQL/ACCESS 数据库的备份和还原函数
//注意:本文为博主原创,转载请注明出处,谢谢合作! //使用前须先引用SQLDMO.dll ADOX.dll JRO.dll 等组件,无须独立安装 //如:C:\Program Files\Comm ...
- ACCESS数据库的压缩,备份,还原,下载,删除的实现
以文本方式查看主题 - 企胜MIS开发论坛|ASP.NET|UML| CSS|Access|My SQL|网络营销|JAVA|J2EE|Ajax (http://www.fleake.com/in ...
- 有关Access的压缩和修复数据库功能
用过Access数据库的朋友一定知道有个"压缩和修复数据库"的功能. 为什么要 "压缩和修复数据库" 首先是当然是压缩,减少文件大小.因为Access是一种文件 ...
- 转:关于ASP操作Access数据库时出现死锁.ldb的解决方法
Asp操作Access数据库时出现死锁.ldb导致网站访问缓慢的问题描述 最近asp网站出现数据库错误,在ftp登陆后发现原来的后缀MDB文件多了一个后缀LDB文件,是自动被锁,在一天某个时间段内打不 ...
- Asp 操作Access数据库时出现死锁.ldb的解决方法
问题: 最近经常用的asp网站"搬家"到一个昂贵的服务器时候,出现这个问题,访问后台时候,出现数据库错误的字样,在ftp登陆后发现原来的后缀MDB文件多了一个后缀LDB文件,百度搜 ...
- SQLite学习手册(在线备份)
一.常用备份: 下面的方法是比较简单且常用的SQLite数据库备份方式,见如下步骤: 1). 使用SQLite API或Shell工具在源数据库文件上加共享锁. 2). 使用Shell ...
最新文章
- SpringBoot JPA不调用save方法,调用set方法就自动修改了数据库值
- android webservices 返回多行多列数据,NoahWeb实现表格多行多列
- ARIMA模型的建模和预测
- C++设计模式-命令模式
- iconpath 微信小程序_微信小程序开发(全局配置文件)
- 【原】oracle external table
- 一些实用但不为人知的Unix命令
- 3d打印机c语言程序下载,C语言下载
- 无线通信设备安装工程概预算编制_起重设备安装资质承接多大工程
- windows graphics - DXGI 介绍(DirectX Graphics Infrastructure)
- sdk前置服务器 设备和商户信息不匹配,豌豆荚融合SDK接入常见问题
- Java相关技术文档汇总
- Time, Delays, and Deferred Work LDD3 学习笔记 + jiffies.h 分析
- MAC自带词典添加词典文件
- 开发8年的老Android才知道,赶紧收藏备战金三银四!
- QQ表情包,动态的那种
- 美国计算机科学专业申请条件,美国CS计算机科学专业申请条件有哪些?
- 原生js实现动态数据表格
- C++实现double factorial双阶乘的算法(附完整源码)
- Java中yyyy-MM-dd HH:mm:ss.SSSSSS日期格式精确到毫秒
热门文章
- leetcode - 279. 完全平方数
- 简单的网络爬虫实现(Jsoup使用)
- python 3.5安装pywin32
- 多项式的链式存储方案
- oracle重建服务器,Oracle重建控制文件的实例教程
- docker 安装azkaban_azkaban安装
- python读取音频文件_python 读取wav 音频文件的两种方式
- 高德地图时间和实际差多少_高德打车,谁用谁上当,谁用谁吃亏
- python图层合并_Ps算法Python实现:图层混合模式-色相
- 音乐上传网站_国外最受欢迎的15个BT下载网站