远程备份access数据库
广告投放★自助友情CMS落伍广告联盟晒乐广告联盟脉动广告联盟品味广告联盟
广告位可自定样式联系QQ:38355018个文字广告月20元广告联系QQ:3835501广告位可自定样式
8个文字广告月20元黄金广告位每月20元广告位可自定样式联系QQ:3835501广告位可自定样式
左旋肉碱、全国包邮
买二送一、无效退款

文章浏览→编程相关Access→远程备份access数据库

远程备份access数据库
远程备份access数据库

access数据库只需从浏览器中输入所在的路径便可以下载,为了防止被暴库或者由于路径比较简单被别人违法下载,很多人都将access数据库的扩展名改为asp或asa文件,并在数据库中加入一个表放下载。

的确,通过这种方式防止了别人下载数据库,但是远程备份数据库就遇到了麻烦,因为access并不像sqlserver那样支持远程备份。

本人的网站便采用了用流下载的办法,因为最近ftp总是被人关掉,为了及时把数据库备份到本地只能使用这种办法,下边把代码贴出。

<%
'===================================
'下载文件
'===================================
Function downloadFile(strFile)
' make sure you are on the latest MDAC version for this towork
' get full path of specified file
strFilename = server.MapPath(strFile)

' clear the buffer
Response.Buffer = True
Response.Clear

' create stream
Set s = Server.CreateObject("ADODB.Stream")
s.Open

' Set as binary
s.Type = 1

' load in the file
on error resume next

' check the file exists
Set fso = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFilename) then
Response.Write("<h1>Error:</h1>"&strFilename&"does not exists!<p>")
Response.End
end if

' get length of file
Set f = fso.GetFile(strFilename)
intFilelength = f.size

s.LoadFromFile(strFilename)
if err then
Response.Write("<h1>Error: </h1>UnknownError!<p>")
Response.End
end if

' send the headers to the users Browse
Response.AddHeader "Content-Disposition","attachment;filename="&f.name
Response.AddHeader "Content-Length",intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"

' output the file to the browser
Response.BinaryWrite s.Read
Response.Flush

' tidy up
s.Close
Set s = Nothing

End Function
downloadFile(filenamepath)'filenamepath是文件相对路径,不是绝对路径
%>

其中filenamepath指的就是数据库所在的路径,不过是相对路径。

但是ADODB.Stream是一次装载的,所以你只能处理一些小文件,我的数据库一共不超过五兆,而且服务器在局域网中,所以才采用了这种办法,至于是否适合你的情况,还要进行一些调试。呵呵。

所属分类:编程相关Access    作者:新浪博客    时间:2010-11-20 0:00:00

文章导航