tag:blogger.com,1999:blog-59465307047421309702024-03-06T16:20:07.273+08:00Jax 的工作紀錄除了在整理學習上的經驗,同時也能幫助其他需要的人Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5946530704742130970.post-2212219735613125482007-09-23T17:07:00.005+08:002023-02-25T21:43:43.018+08:00利用 ASP 對 Access 資料庫重組由於 Access 資料庫沒有支援的 SQL 指令可做重組
而且在做刪除資料時,還是不會將空間釋放出來
這種狀況只能從 Server 上做重組釋放的動作
但不是每個人都可以進入 Server 上做這個動作
所以另外的辦法就是從 ASP 網頁上執行
<pre class="vb" name="code">
<%
'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
%>
</pre>
<a href="http://sites.google.com/site/weskerjax/code-demo/compact_database.rar">檔案連結</a>Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0tag:blogger.com,1999:blog-5946530704742130970.post-11299531654403405122007-09-16T20:43:00.002+08:002009-04-10T19:21:52.685+08:00Access 資料庫連結字串有設定密碼的連結字串<br /><span style="color:#006600;">"Driver={Microsoft Access Driver (*.mdb)};DBQ="</span>& <span style="color:#0000ff;">Server</span>.<span style="color:#0000ff;">MapPath</span>(<span style="color:#006600;">"/test.mdb"</span>)& <span style="color:#006600;">";User ID=xxxx;Password=xxxx;"</span><br /><br /><span style="color:#006600;">"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="</span>& <span style="color:#0000ff;">Server</span>.<span style="color:#0000ff;">MapPath</span>(<span style="color:#006600;">"/test.mdb"</span>)& <span style="color:#006600;">";Jet OLEDB:Database Password=xxxx;"</span><br /><br />沒有設定密碼的連結字串<br /><span style="color:#006600;">"Driver={Microsoft Access Driver (*.mdb)};DBQ="</span>& <span style="color:#0000ff;">Server</span>.<span style="color:#0000ff;">MapPath</span>(<span style="color:#006600;">"/test.mdb"</span>)<br /><br /><span style="color:#006600;">"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="</span>& <span style="color:#0000ff;">Server</span>.<span style="color:#0000ff;">MapPath</span>(<span style="color:#006600;">"/test.mdb"</span>)<br /><br />Server.MapPath 輸入以主目錄為參考的相對路徑,回傳一個網站的絕對路徑<br />User ID :資料庫使用者帳號<br />Password :資料庫使用者密碼Jax Huhttp://www.blogger.com/profile/01953021685585893658noreply@blogger.com0