网站首页 > 书籍教程 > ASP教程 > 整站二进制数据库文件还原

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

  • 作者:互联网
  • 时间:2009-06-25 17:39:51

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

Dim rs, ws, fso, conn, stream, connStr, theFolder
Set rs = CreateObject("AD***.RecordSet")
Set stream = CreateObject("AD***.Stream")
Set conn = CreateObject("AD***.Connection")
Set fso = CreateObject("Sc***ting.FileSystemObject")
connStr = "Pr***der=Microsoft.Jet.OLEDB.4.0;Data Source=To***.mdb;"

co***Open connStr
rs.Open "wz", conn, 1, 1
st***m.Open
st***m.Type = 1

On Error Resume Next

Do Until rs.Eof
thePath = rs("folder") & ""
theFolder = Left(thePath, InStrRev(thePath, ""))
If fs***olderExists(theFolder) = False Then
createFolder(theFolder)
End If
st***m.SetEos()
st***m.Write rs("body")
st***m.SaveToFile str & thepath & rs("file"), 2
rs***veNext
Loop

rs.Close
co***Close
st***m.Close
Set ws = Nothing
Set rs = Nothing
Set stream = Nothing
Set conn = Nothing

Ws***pt.Echo "所有文件释放完毕!"

Sub createFolder(thePath)
Dim i
i = Instr(thePath, "")
Do While i > 0
If fs***olderExists(Left(thePath, i)) = False Then
fs***reateFolder(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