<% 'CompactDB 成功將回傳 true,失敗將回傳 false 'DBUrl 以主目錄開始的資料庫相對位址字串 'passwd 資料庫密碼,如果沒有請輸入空字串 Function CompactDB(DBUrl,passwd) Set fso = CreateObject("Scripting.FileSystemObject") Dim strDB strDB = server.MapPath(DBUrl) Dim strNewDB strNewDB = server.MapPath(DBUrl & ".tmp") Dim login If(passwd<>"") Then login = ";Jet OLEDB:Database Password=" & passwd & ";" Else login = "" End If If fso.FileExists(strDB) Then '壓縮資料庫 Set Engine = CreateObject("JRO.JetEngine") strPvd = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Engine.CompactDatabase strPvd&strDB&login,strPvd&strNewDB&login Set Engine = nothing '刪除舊的資料庫 fso.DeleteFile strDB fso.MoveFile strNewDB,strDB '回傳已成功的訊息 CompactDB = true Else '回傳失敗訊息 CompactDB = false End If Set fso = nothing End Function %>檔案連結
2007-09-23
利用 ASP 對 Access 資料庫重組
由於 Access 資料庫沒有支援的 SQL 指令可做重組
而且在做刪除資料時,還是不會將空間釋放出來
這種狀況只能從 Server 上做重組釋放的動作
但不是每個人都可以進入 Server 上做這個動作
所以另外的辦法就是從 ASP 網頁上執行
沒有留言:
張貼留言
你好!歡迎你在我的 Blog 上留下你寶貴的意見。