当前位置: 首页 > 图文教程 > 数据库 > Access > 备份你的改过后缀名的ACCESS数据库

Access
高手支招ASP及Access的安全隐患及对策
如何设置ACCESS2003(运行时)的宏安全性级别
在窗体间传递参数的几种常用办法
完美表格:使用表层属性来提高效率
设计完美表格:适当地命名域
Access应用:仔细地选择索引
Access应用的几个技巧
ASP实现access随机显示不重复记录解决方案
巧用Access逐条输出Excel中的记录
Access数据库安全中常见问题汇总
在VB中动态创建数据库
在Access中使用系统表保存应用程序变量
使ACCESS数据库保持同步
当Access文件大于指定的大小时就自动压缩
数据库并发问题详述
ACCESS集锦
以独占方式打开Access数据库
数据在Access与Office组件间自由流动
基于Access数据库的抽奖系统设计
转换Access数据库以获得更优性能

Access 中的 备份你的改过后缀名的ACCESS数据库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 101 ::
收藏到网摘: n/a

近期在开发某公司的OA系统的后台时有一个关于ACCESS数据库的问题。

为了防止数据库为不怀好意的人下载,需要更改数据库的后缀名为ASPX(ASP等其它也可以),而公司内部人员又需要通过IE来下载数据库实现对数据库进行备份。

当然,通过修改文件名后缀的方法来隐藏数据库并不是有个特别安全的方法,毕竟以M为单位的数据库和以K为单位的ASPX页面相比,一眼都能看出这到底是数据库还是WEB页。不过,算是一个简单易行的方法吧。

首先,纯粹简单地修改数据库文件后缀名为ASPX并不能完全保证不会被下载,你下载这个ASPX页面再修改回后缀名就可以还原数据库。(前面说了,是可以很明显的看出哪些页面是由数据库假装的)

这里需要对这个修改后的文件做些手脚,加上<%%>,就可以让IIS把它当ASPX页处理,从而返回一个错误,而不是下载。并不能简单添加,需要先建立一个包含<%%>的文本文件,然后在原数据库中加一张表,加一个OLE对象的字段,然后加一条记录,OLE对象字段的内容指向前面建立的文本。

然后是关于自己内部的人员如何来正常下载数据库。通过.NET的HttpResponse对象向客户端输入数据库文件来实现下载。

修改HTTP头:

HttpContext.Current.Response.AppendHeader("Content-disposition","attachment;filename=backup.mdb");

HttpContext.Current.Response.ContentType ="application/ms-access";

向客户端输入文件:

long FileSize = new FileInfo(DbPath).Length;

Response.WriteFile(DbPath , 0 , FileSize);

基本就是这样吧。