<%
'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 上留下你寶貴的意見。