如何备份改过后缀名的ACCESS数据库

近期在开发某公司的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);

基本就是这样吧~

时间: 2024-09-10 23:12:28

如何备份改过后缀名的ACCESS数据库的相关文章

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

近期在开发某公司的OA系统的后台时有一个关于ACCESS数据库的问题. 为了防止数据库为不怀好意的人下载,需要更改数据库的后缀名为ASPX(ASP等其它也可以),而公司内部人员又需要通过IE来下载数据库实现对数据库进行备份. 当然,通过修改文件名后缀的方法来隐藏数据库并不是有个特别安全的方法,毕竟以M为单位的数据库和以K为单位的ASPX页面相比,一眼都能看出这到底是数据库还是WEB页.不过,算是一个简单易行的方法吧. 首先,纯粹简单地修改数据库文件后缀名为ASPX并不能完全保证不会被下载,你下载

Asp.net在线备份、压缩和修复Access数据库示例代码

这篇文章主要介绍了Asp.net如何在线备份.压缩和修复Access数据库,需要的朋友可以参考下 1.问题的提出    在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库.在数据库的使用过程中经常性进行增加和删除操作.事实上,Microsoft Access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然占据着数据库的空间,使得数据库越来越大.不但占用不必要的空间,而且降低了数据库的效率.特别在虚拟站点上的问题尤为突出.因此

Asp.net在线备份、压缩和修复Access数据库示例代码_实用技巧

1.问题的提出 在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库.在数据库的使用过程中经常性进行增加和删除操作.事实上,Microsoft Access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然占据着数据库的空间,使得数据库越来越大.不但占用不必要的空间,而且降低了数据库的效率.特别在虚拟站点上的问题尤为突出.因此对Access数据库进行压缩瘦身很有实际意义. 虽然Access数据库自身具有"压缩和修复数据库&quo

access数据库备份问题讨论

access|备份|数据|数据库|问题 access数据库备份问题讨论   问题: access数据库备份问题讨论我如何才能定期备份mdb数据库?  回答: 其实备份数据库往往是需要其中的数据,窗体.报表.程序等对象只需要保存一个备份就够了. 你可以建立一个隐藏的窗体,用窗体上的TIMER来控制备份时间,每隔一段时间将数据 INSERT INTO 到其他数据库中去,或者直接用 TransferDatabase 方法来导出数据表到其他数据库中去. 具体的例子你可以参考一下本站下载区的<导入导出>

asp在线备份access数据库程序

如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSaccess来完成压缩操作,然后再上传! 需要注

怎么用JAVA实现Access数据库的备份和恢复?

问题描述 怎么用JAVA实现Access数据库的备份和恢复?谢谢 解决方案 解决方案二:最简单,整个文件拷贝走,恢复时就整个文件拷贝回来.(要先暂停访问mdb)

access-与数据库连接ACCESS数据库,显示库中所有的表名,但是出现很多不知道的表名

问题描述 与数据库连接ACCESS数据库,显示库中所有的表名,但是出现很多不知道的表名 用C#语句实现在combobox显示连接的数据库的中所有表的名称,但是为什么显示像 msysnamemap之类的很多不知道的表名,请问怎么解决. 解决方案 很正常,这些都是系统表名,你取出来以后判断下 if (!表名.Contains("msysname")) ComboBox1.Add(表名) 解决方案二: 如何得到一个ACCESS数据库的所有表名

C#程序关于Access数据库备份的问题

问题描述 我用c#编写的form程序,将程序目录里的Access备份到别的目录里面后,在程序里执行清理数据操作,备份目录里的Access数据库也一并删除了全部数据,为什么会这样呢??我直接用的file.copy().最好的数据库备份.还原操作应该怎样写?? 解决方案 解决方案二:File.Copy方法将现有的文件复制到新文件,不允许改写同名文件.publicstaticvoidCopy(stringsourceFileName,stringdestFileName)sourceFileName为

ASP获取ACCESS数据库表名及结构的代码_应用技巧

<html> <head> <title>获取ACCESS数据库表名_www.jb51.net</title> </head> <body style="text-align:left;margin-left:50px;font-family:'arial';font-size:12px"> <form style="padding:5px;margin:5px;margin-left:0px&qu