童鞋們,不知道大家有沒有注意到,在使用Access時同目錄下必然會有一個與原檔案同名,副檔名為.ldb的檔案呢。在原檔案關閉時這個.ldb檔案也就同時消失了。那這個.ldb檔案到底有什麼作用呢,今天白菜大叔引用Office中國大佬(王宇虹)的文章給大家科普一下這個ldb的意義。
作用:
.ldb檔案在多使用者環境下是非常重要得。該檔案被 MS Jet DB Engine V4.0 用來確定被共享的資料庫中哪條記錄被鎖定以及被誰鎖定
.ldb 檔案是由共享資料庫的使用者自動建立以及刪除得。.LDB 檔案建立並存儲計算機名、使用者名稱以及放置擴充套件域鎖的。.LDB 檔案一般與 .MDB 同名,並且與 .MDB 檔案在相同目錄,在 .MDB 檔案被開啟時建立並鎖定。舉個例子,如果你開啟 c:\northwind.mdb 檔案後 c:\northwind.ldb 檔案會自動被建立並被鎖定。
許可權問題:
記得要給予 .LDB 檔案所在的資料夾一定的許可權。
注意:如果用獨佔方式開啟某個資料庫,那麼 MS JET DB 將不會建立 .LDB 檔案,此時使用者對目錄的許可權只要求有讀取和寫入兩個許可權即可。
.ldb 檔案的內容:
MS JET DB ENGINE 會為每個以共享方式開啟資料庫的使用者在 .LDB 檔案中建立一個條目,每個條目的大小是 64 位元組。前面 32 位元組儲存計算機名,後面 32 位元組儲存使用者名稱。JET DB ENGINE 支援的最大使用者數是 255,因此 .LDB 檔案的大小不會超過 16 KB。
.ldb 檔案的使用方法:
JET DB ENGINE 使用 .LDB 檔案中的資訊來確定誰鎖定了資料,誰正在寫入被其他人鎖定的資料。如果 JET DB ENGINE 發現有其他使用者的鎖定衝突,它會讀取 .LDB 檔案以獲取計算機名與使用者名稱誰鎖定了檔案或者記錄。
在多數鎖定衝突情況下,你會在儲存記錄時得到一個 “寫入衝突”的提示並且取消你所做的修改。在有些情況下你會得到如下提示:
Couldn't lock table <table name>; currently in use by user <security name> on computer <computer name>.
注意:上述關於 .LDB 檔案的資訊與資料庫檔案無關。如果一個 .LDB 檔案損壞,資料庫檔案仍然能夠工作正常。但是寫入衝突的提示訊息中<security name>這個部分你可能會看見一串不知所云的文字。