asp,access数据库备份压缩还原代码

  

 

新建代码到data_s.asp文件

<textarea name="code" class="vb:nogutter:nocontrols" rows="15" cols="50"> <div align=center>数据库管理系统</div> <br> <br> <p align="center"> <% Dim ZC_DATABASE_PATH '数据库的路径 ZC_DATABASE_PATH="/database_newatses/fxjt111_asd@#$@$%^$%@#$@#$#@.mdb" data_array= Split(ZC_DATABASE_PATH,"/") Dim action action=trim(request("action")) Dim dbpath,bkfolder,bkdbname,fso,fso1 Select Case action Case "" Call chushihua() Case "CompressData" '压缩数据 Dim tmprs dim allarticle dim Maxid dim topic,username,dateandtime,body call CompressData() case "BackupData" '备份数据 if request("act")="Backup" Then call updata() else call BackupData() end If case "RestoreData" '恢复数据 dim backpath if request("act")="Restore" Then Dbpath=request.form("Dbpath") backpath=request.form("backpath") if dbpath="" Then response.write "Please input your database whole Name" else Dbpath=server.mappath(Dbpath) end If backpath=server.mappath(backpath) Set Fso=server.CreateObject("scripting.filesystemobject") if fso.fileexists(dbpath) Then fso.copyfile Dbpath,Backpath response.write "数据库被成功还原!<br>" else response.write "没找到您所需要的数据库!" end If else call RestoreData() end If Case "SpaceSize" '系统空间占用 call SpaceSize() Case "deletebackup" Dim dbname dbpath=Request.QueryString("dbpath") dbname=Request.QueryString("dbname") dbpath=Server.MapPath(dbpath) dbpath=dbpath &""&dbname set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(dbPath) Then fso.DeleteFile(DBPath) Set fso = nothing response.write "<br>您备份的数据库已经" & dbpath &"被成功删除!<br><br><a href=""data_s.asp"">返回..</a>" Else response.write dbpath response.write "<br>输入的路径错误,请确认后重新输入!<br><br><a href=""data_s.asp"">返回..</a>" End If Case Else End Select %> </div> <% response.write"</body></html>" Sub chushihua() %> <div align=center> <form id="edit"> <a href="?action=CompressData" mce_href="?action=CompressData">[压缩数据库]</a> <a href="?action=BackupData" mce_href="?action=BackupData">[备份数据库]</a> <a href="?action=RestoreData" mce_href="?action=RestoreData">[还原数据库]</a> <a href="?action=SpaceSize" mce_href="?action=SpaceSize">[系统空间占用]</a> </form> </div> <%end sub%> <% '====================系统空间占用======================= Sub SpaceSize() On Error Resume Next %> <div align=center> <div align=center> 系统空间查看 <form id="edit"> <br> 数据库:<%showSpaceinfo("../"&data_array(1)&"")%><br><br> 备份数据库:<%showSpaceinfo("databackup")%><br><br> 系统总共:<%showSpaceinfo("/")%> <br><br> </form> </div> <br > <br > <br > <a href="data_s.asp" mce_href="data_s.asp">返回...</a> </div> <% End Sub %> <% Sub ShowSpaceInfo(drvpath) dim fso,d,size,showsize set fso=server.CreateObject("scripting.filesystemobject") drvpath=server.mappath(drvpath) set d=fso.getfolder(drvpath) size=d.size showsize=size & " Byte" if size>1024 Then size=(Size/1024) showsize=size & " KB" end If if size>1024 Then size=(size/1024) showsize=formatnumber(size,2) & " MB" end If if size>1024 Then size=(size/1024) showsize=formatnumber(size,2) & " GB" end If response.write "<font face=verdana>" & showsize & "</font>" End Sub %> <% Sub RestoreData() %> <div align=center> <div align=center> 还原数据库: <form id="edit" method="post" action="data_s.asp?action=RestoreData&act=Restore"> 还原的路径(相对路径):<input type=text size=30 name=DBpath value="/DataBackup/<%=Date()%>_Bak.mdb"><BR> 还原后的路径(相对路径):<input type=text size=30 name=backpath value="<%=ZC_DATABASE_PATH%>"><BR><BR> <input type=submit value="开始还原"> </form> </div> <br> <br> <a href="data_s.asp" mce_href="data_s.asp">返回...</a> </div> <% End Sub Sub updata() Dbpath=request.form("Dbpath") Dbpath=server.mappath(Dbpath) bkfolder=request.form("bkfolder") bkdbname=request.form("bkdbname") Set Fso=server.CreateObject("scripting.filesystemobject") if fso.fileexists(dbpath) Then If CheckDir(bkfolder) = True Then fso.copyfile dbpath,bkfolder&"/"&bkdbname else MakeNewsDir bkfolder fso.copyfile dbpath,bkfolder&"/"&bkdbname end If response.write "<br>已经成功备份,你的数据库的路径:" &bkfolder&"/"&bkdbname response.write "<br><br>点击此处将数据库下载下来:<a href="""& ZC_BLOG_HOST & bkfolder&"/"& bkdbname &""">" & ZC_BLOG_HOST & bkfolder&"/"& bkdbname &"<br><br>" response.write "<br><br><a href=""data_s.asp?action=deletebackup&dbpath="&bkfolder&"\&dbname=" & bkdbname &""">当您下载完毕后,点击此处将删除备份的数据库!</a><br><br><br><a href=""Data_s.asp"">返回...</a>" Else response.write "Error ,,找不到文件!<br>" End If Set fso = nothing End Sub '------------------检查某一目录是否存在------------------- Function CheckDir(FolderPath) folderpath=Server.MapPath(folderpath) Set fso1 = CreateObject("Scripting.FileSystemObject") If fso1.FolderExists(FolderPath) Then '存在 CheckDir = True Else '不存在 CheckDir = False End If Set fso1 = nothing End Function '-------------根据指定名称生成目录----------------------- Function MakeNewsDir(foldername) dim f Set fso1 = CreateObject("Scripting.FileSystemObject") Set f = fso1.CreateFolder(foldername) MakeNewsDir = True Set fso1 = nothing End Function Sub BackupData() %> <div align=center> 备份数据库 <form id="edit" method="post" action="data_s.asp?action=BackupData&act=Backup"> 当前数据库的路径(相对路径):<input type=text size=15 name=DBpath value="<%=ZC_DATABASE_PATH%>"> 备份数据库的路径(相对路径):<input type=text size=15 name=bkfolder value="/Databackup/"> 如果该目录不存在,系统将自动建立 备份后数据库的名称:<input type=text size=20 name=bkDBname value="<%=Date()%>_bak.mdb"> 按日期自动命名 如果备份文件不存在将建立,如果存在,将自动覆盖! <input type=submit value="开始备份"><br> </form> <br><br> <a href="data_s.asp" mce_href="data_s.asp">返回..</a> </div> <% End Sub Sub CompressData() %> <div align=center> 压缩数据库: <form id="edit" action="data_s.asp?action=CompressData" method="post"> 输入数据库的所在路径 压缩数据库的路径:<input type="text" name="dbpath" value="<%=ZC_DATABASE_PATH%>"> <input type="submit" value="开始压缩"> <input type="checkbox" name="boolIs97" value="True">如果是ac97,请将钩打上.(默认是Access 2000)<br><br> </form> <br><br> <a href="data_s.asp" mce_href="data_s.asp">返回..</a> </div> <% Dim dbpath,boolIs97 dbpath = request("dbpath") boolIs97 = request("boolIs97") If dbpath <> "" Then dbpath = server.mappath(dbpath) response.write(CompactDB(dbpath,boolIs97)) End If End Sub '=====================压缩参数========================= Function CompactDB(dbPath, boolIs97) Dim fso, Engine, strDBPath,JET_3X strDBPath = Left(dbPath,InStrRev(DBPath,"")) Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(dbPath) Then fso.CopyFile dbpath,strDBPath & "temp.mdb" Set Engine = CreateObject("JRO.JetEngine") If boolIs97 = "True" Then Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb;" _ & "Jet OLEDB:Engine Type=" & JET_3X Else Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb", _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp1.mdb" End If fso.CopyFile strDBPath & "temp1.mdb",dbpath fso.DeleteFile(strDBPath & "temp.mdb") fso.DeleteFile(strDBPath & "temp1.mdb") Set fso = nothing Set Engine = nothing CompactDB = "您的数据库" & dbpath & "已经被成功压缩!" & vbCrLf Else CompactDB = "<br>您输入的路径错误,请确认后重新输入!" & vbCrLf End If End Function 'end %> </p></textarea>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值