主题:  怎样在线压缩ACCESS数据库?

秋千

职务:普通成员
等级:1
金币:0.0
发贴:160
#12002/5/10 22:58:32
删除的数据多了,就需要压缩一下,在线用ASP实现压缩如何办到???



秋千

职务:普通成员
等级:1
金币:0.0
发贴:160
#22002/5/12 21:05:23
都两天了,还是没人回答吗???



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#32002/5/12 21:23:44
没听说过,不知道行不行啊.



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
#42002/5/13 0:17:14
可以的,下面的代码一定能帮你:

<%
option explicit
Const JET_3X = 4
Function CompactDB(dbPath, boolIs97)
Dim fso, Engine, strDBPath
strDBPath = left(dbPath,instrrev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(dbPath) Then
Set Engine = CreateObject("JRO.JetEngine")

If boolIs97 = "True" Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" _
& "Jet OLEDB:Engine Type=" & JET_3X
Else
    Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"
End If
fso.CopyFile strDBPath & "temp.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
Set fso = nothing
Set Engine = nothing
CompactDB = "你的数据库, " & dbpath & ",已经被压缩" & vbCrLf
Else
CompactDB = "没有发现数据库或者路径部队. 再来了" & vbCrLf
End If

End Function
%>
压缩数据库

压缩ACCESS数据库

请输入数据库的相对路径,包括数据名.



如果是 Access 97 数据库请选择这里
(默认是 Access 2000)



<% Dim dbpath,boolIs97 dbpath = request("dbpath") boolIs97 = request("boolIs97") If dbpath <> "" Then dbpath = server.mappath(dbpath) response.write(CompactDB(dbpath,boolIs97)) End If %>



把以上代码保存成compact.asp(不能该其他的名字),运行它就好了。我测试过了,还不错!



5D荣誉斑竹

职务:普通成员
等级:3
金币:10.0
发贴:1480
#52002/5/13 9:45:39
对数据库做了次复制,删除就压缩了???