tempad
ReadyGo!技术成就梦想 >>ASP技巧 >> 整站二进制数据库文件还原

整站二进制数据库文件还原

ReadyGo!技术成就梦想 网络搜索 efish 2008-2-24 3:06:50

昨天一个在落伍的朋友给的,一个站的所有文件和图片以二进制的方式放进了数据库里,用下面的代码可以把数据库里的文件和图片还原出来。
把得到的数据库名字改成ToMdb.mdb,然后把下面的代码保存成VBS格式。放在同一个目录下,执行这个VBS文件

Dim rs, ws, fso, conn, stream, connStr, theFolder
Set rs = CreateObject("ADODB.RecordSet")
Set stream = CreateObject("ADODB.Stream")
Set conn = CreateObject("ADODB.Connection")
Set fso = CreateObject("Scripting.FileSystemObject")
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ToMdb.mdb;"

conn.Open connStr
rs.Open "wz", conn, 1, 1
stream.Open
stream.Type = 1

On Error Resume Next

Do Until rs.Eof
thePath = rs("folder") & "\"
theFolder = Left(thePath, InStrRev(thePath, "\"))
If fso.FolderExists(theFolder) = False Then
createFolder(theFolder)
End If
stream.SetEos()
stream.Write rs("body")
stream.SaveToFile str & thepath & rs("file"), 2
rs.MoveNext
Loop

rs.Close
conn.Close
stream.Close
Set ws = Nothing
Set rs = Nothing
Set stream = Nothing
Set conn = Nothing

Wscript.Echo "所有文件释放完毕!"

Sub createFolder(thePath)
Dim i
i = Instr(thePath, "\")
Do While i > 0
If fso.FolderExists(Left(thePath, i)) = False Then
fso.CreateFolder(Left(thePath, i - 1))
End If
If InStr(Mid(thePath, i + 1), "\") Then
i = i + Instr(Mid(thePath, i + 1), "\")
Else
i = 0
End If
Loop
End Sub

责任编辑: efish 参与评论 查找更多:
相关文章
实用的ASP连接数据库的函数 实用的ASP连接数据库的函数
ASP提高数据显示效率-缓存探幽 ASP提高数据显示效率-缓存探幽
ASP日期和时间函数示例 ASP日期和时间函数示例
Access与Sql Server之ASP代码比较 Access与Sql Server之ASP代码比较
用ASP生成ZT条型码 用ASP生成ZT条型码
批量对加密的asp代码解密的asp程序 批量对加密的asp代码解密的asp程序
身份验证常用正则表达式 身份验证常用正则表达式
IIS的一个莫名错误Server Application Unavailable IIS的一个莫名错误Server Application Unavailable
地址栏参数的判断总结 地址栏参数的判断总结
系统时间格式问题而导致BLOG不正常的解决方法 系统时间格式问题而导致BLOG不正常的解决方法
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想