我使用以下陳述句實作access多用戶同時編輯,但失敗了,請問有人知道是怎么回事嗎?
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Database\" & ChooseYear & "data.mdb;" & ";Jet OLEDB:Database Password=123"
......
rs.Open "Select top 1 ID from [Data] order by ID desc", cnn, adOpenKeyset, adLockOptimistic
.....
uj5u.com熱心網友回復:
Access 對多用戶的支持不完善,只適合單用戶使用。多用戶請換用 SQL Server
uj5u.com熱心網友回復:
換SQL SERVER吧.最簡單的做法就是直接在SQL SERVER管理器中匯入access
然后代碼中的鏈接字串改一下, 其他都不用動.
uj5u.com熱心網友回復:
公司的限制,只能用access
uj5u.com熱心網友回復:
找定方案的人要多用戶操作的樣例啊!誰拍板誰負責
uj5u.com熱心網友回復:
我用過多用戶編輯。需要把ACCESS共享出來。但是總的來說,麻煩費事。最關鍵的是,速度慢。。
uj5u.com熱心網友回復:
可以實作。方案一:客戶服務模式
用戶設定為客戶,一個服務端負責對 Access 資料庫的讀寫。
方案二:令牌模式
添加一個表,其中唯一欄位唯一記錄是令牌。設定成悲觀模式。
每個用于在寫任何資料表之前,將令牌值從 1 更新為 0。如果更新成功,則獲得令牌,即訪問權。
寫資料表完畢后,獲權者再將令牌更新為 1。
任何讀令牌為 0 或更新令牌失敗的用戶,必須隨機延時,再重新嘗試讀和更新。
當然,也可以為每一個應用資料表設定一個令牌表。這樣寫不同表的用戶相互不沖突。
uj5u.com熱心網友回復:
剛剛想了下當時解決方案。把程式和ACCESS放一個檔案夾,然后共享這個檔案夾。
然后再給客戶端分配一個程式的快捷方式。
沒有比這個辦法更簡單高效的了,而且速度不慢,至于并發,當時5個人操作沒太大問題,ACCESS好像還沒崩過。
uj5u.com熱心網友回復:
多人操作崩不可怕,可怕的是操作共享沖突時導致無效資料被當作有效資料使用!比如多人同時在一個賬戶上存取100元錢共享沖突時……
樓主就等著賠錢吧。
uj5u.com熱心網友回復:
邏輯上說出現不了!因為到這種級別的并發了,誰還會用ACCESS.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/63911.html
標籤:VBA
上一篇:Mini Word 2018 - Documenting and Viewing With Ease, Based On CRichEditCtrl
