我有兩個VC++ 6應用程序在通用的Access 2000數據庫中寫入/更新數據 - 兩個應用程序都從不同的數據記錄器中下載信息。記錄如何存儲在MS Access頁面中?記錄可以存儲在兩頁中嗎?
幾乎每隔一段時間,我們在嘗試做一個添加/編輯/更新時的異常:
(3260)無法更新;目前 被用戶'admin'鎖定在機器上 'abc123'。
我相信問題與數據庫中的記錄鎖定有關。
我們使用CDaoRecordset來訪問數據。從閱讀文檔看來,缺省情況是樂觀地鎖定記錄所在的數據庫頁面。如果另一個進程嘗試在同一頁面中編輯/更新記錄,他們會看到我們看到的錯誤。
移動到SQL Server不是一個選項在這一點上 - 這不是一個簡單的變化,因爲事情的結構。
我想知道是否可以使受影響的表中的記錄足夠大,以便每個2k數據頁只能有一條記錄。如果我使每個記錄長1100個字節,那麼每個記錄應該有自己的頁面,解決鎖定問題。我知道它會佔用更多的磁盤空間,但目前這並不是問題,因爲受影響的表是相當低的磁盤空間。
會這樣嗎? Access 2000中的記錄可以分成兩頁嗎?
我已經把這作爲答案,因爲這是我們最終做的。 – 2011-04-27 05:00:07