在ASP中壓縮ACCESS資料庫

iDotNetSpace發表於2009-01-20
 用ACCESS資料庫開發的網站,當隨著網站資料量的不斷增長。資料庫的容量也是不斷加大。這讓ASP程式速度直線下降。如果才能讓ACCESS資料庫容量儘可能小。我們要對它進行壓縮處理。

  下面是我整理後的原始碼,複製另存為compact.asp並上傳到資料庫所在目錄即可正常使用。

以下為引用的內容:



ACCESS資料庫壓縮程式-網頁製作教程




通用ACCESS資料庫線上壓縮程式





  本程式其實是通過FSO許可權和JET引擎連線,因此在使用之前請確認你的伺服器支援FSO(filesystemobject)許可權並安裝的ACCESS最新驅動!從安全出發,請在壓縮之前備份原始資料庫!

以下為引用的內容:



執行環境:在WIN98SE+PWS、WIN2000+IIS5.0

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
%>





壓縮選項,請仔細填寫!



輸入資料庫全稱:

以下為引用的內容:


(包括副檔名,如MDB、ASA、ASP等)




檢查是否為ACCESS97資料庫

(預設為ACCESS2000的資料庫)







Dim dbpath,boolIs97
dbpath = request("dbpath")
boolIs97 = request("boolIs97")
If dbparesponse.write(CompactDB(dbpath,boolIs97))
End If
%>


th <> "" Then
dbpath = server.mappath(dbpath)

注意:由於本例實用的是FSO操作ACCESS檔案,所以要使用本例請確保你的伺服器支援FSO支援。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-541537/,如需轉載,請註明出處,否則將追究法律責任。

相關文章