如何备份access数据库

发布网友 发布时间:2022-04-24 00:14

我来回答

3个回答

懂视网 时间:2022-04-12 19:50

近期在开发某公司的OA系统的后台时有一个关于ACCESS数据库的问题。 为了防止数据库为不怀好意的人下载,需要更改数据库的后缀名为ASPX(ASP等其它也可以),而公司内部人员又需要通过IE来下载数据库实现对数据库进行备份。 当然,通过修改文件名后缀的方法来

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

基本就是这样吧~

热心网友 时间:2022-04-12 16:58

用VB编写自动备份文件程序
--------------------------------------

Public Sub BackupFile(Filename As String, Drive As String, Folder As String)
Dim Fso As New FileSystemObject '创建 FSO 对象实例
Dim Dest_path As String, Counter As Long
Dim StrDay As String, StrMonth As String, NewFilename As String

Counter = 0
Do While Counter < 6 '如果驱动器没准备好,继续检测。共检测 6 秒
Counter = Counter + 1
Call Waitfor(1) '间隔 1 秒
If Fso.Drives(Drive).IsReady = True Then
Exit Do
End If
Loop
If Fso.Drives(Drive).IsReady = False Then '6 秒后目标盘仍未准备就绪,退出
MsgBox " 目标驱动器 " & Drive & " 没有准备好! ", vbCritical
Exit Sub
End If
If Fso.GetDrive(Drive).FreeSpace < Fso.GetFile(Filename).Size Then
MsgBox "目标驱动器空间太小!", vbCritical '目标驱动器空间不够,退出
Exit Sub
End If
If Right(Drive, 1) <> ":" Then
Drive = Drive & ":"
End If
If Left(Folder, 1) <> "\" Then
Folder = "\" & Folder
End If
If Right(Folder, 1) <> "\" Then
Folder = Folder & "\"
End If
If Day(Date) < 10 Then
StrDay = "0" & Day(Date)
Else
StrDay = Day(Date)
End If
If Month(Date) < 10 Then
StrMonth = "0" & Month(Date)
Else
StrMonth = Month(Date)
End If
'Fso.FileExists ()
NewFilename = "newfilename"
Dest_path = Drive & Folder
If Not Fso.FolderExists(Dest_path) Then '如果目标文件夹不存在,创建之
Fso.CreateFolder Dest_path
End If
Fso.CopyFile Filename, Dest_path & NewFilename, True
'拷贝,直接覆盖同名文件
Set Fso = Nothing
End Sub
Private Sub Waitfor(Delay As Single) '延时过程,Delay 单位约为 1 秒
Dim StartTime As Single
StartTime = Timer
Do Until (Timer - StartTime) > Delay
Loop
End Sub

Private Sub Form_Load()
BackupFile "filename", "d:", "filebackupdir"
End
End Sub

热心网友 时间:2022-04-12 18:16

你Access备份文件是“复制备份”还是其它方式的备份(比如是通过其它软件备份?如果是复制型备份,就可以用access打开。如果是通过其它软件生成的备份文件,最好通过该软件去打开或还原

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com