access mysql并发_多用户同时使用ACCESS
時 間:2013-10-05 08:06:11
作 者:摘 要:多用戶同時使用ACCESS
正 文:
前提是每個用戶都不能使用獨占的方式打開。
共享數據庫(MDB)
注釋本主題中的信息僅適用于Microsoft Access數據庫(.mdb)。
若要從另一臺計算機上訪問共享的Microsoft Access數據庫,另一臺計算機上必須具備下列條件之一:Access的本地安裝、Access的網絡安裝(逐個用戶地授權)或運行時應用程序。
設置共享文件夾。
有關共享文件夾的詳細信息,請使用Microsoft Windows的“幫助索引”。如果共享文件夾位于網絡服務器上,則可能需要網絡管理員的協助。
將Microsoft Access數據庫復制到一個共享文件夾。
確保Access數據庫設為在共享方式下打開,這是默認設置。
操作方法:
在“工具”菜單上,單擊“選項”。
在“高級”選項卡上“默認打開模式”下,單擊“共享”。
注釋 共享數據庫之前,應該刪除文件中可能存儲的任何個人信息。有關詳細信息,請參閱刪除Access文件或頁面中的個人信息。
注釋本主題中的信息僅適用于Microsoft Access數據庫(.mdb)。
如果您的計算機已經連接到網絡中,則您和其他用戶可以同時使用一個Microsoft Access數據庫。
用于共享數據的方法
在多用戶環境下共享數據的方法有多種。
共享整個Access數據庫 可以將整個Access數據庫放在網絡服務器或共享文件夾中。這是實現整個Access數據庫共享的最簡單的方法。每個用戶都能共享數據,并能使用相同的窗體、報表、查詢、宏和模塊。如果要讓每個用戶都以相同的方式使用Access數據庫,或者您不能支持其他用戶創建其自己的對象,則可以采取這種策略。
僅共享Access數據庫中的表 可以只將表放在網絡服務器上,而將其他數據庫對象都留在用戶的計算機上。這種情況下,Access數據庫的性能會有所提高,因為只有數據是通過網絡發送的。當將一個數據庫拆分為后端(表)和前端時,用戶可以在不影響別人的情況下,對其自己的前端數據庫中的窗體、報表和其他對象進行自定義。
在Internet上共享Access數據庫對象或數據訪問頁 可以將一個或多個數據庫對象輸出為靜態的HTML或服務器生成的HTML格式,或者創建數據訪問頁,然后用瀏覽器(如Microsoft Internet Explorer)顯示它們在萬維網上的顯示情況。
同步復制Access數據庫如果使用兩臺計算機(如,辦公室計算機和便攜式計算機),則可用Microsoft Windows“公文包”來制作Access數據庫的副本,并使這些副本保持同步。另外,在不同地點工作的用戶也可以同時使用其自己的副本,然后通過網絡(撥號連接或Internet)將這些副本同步。
創建客戶/服務器應用程序 如果工作在客戶/服務器環境中,則可以通過創建客戶/服務器應用程序而利用這種環境所提供的顯著功能和安全性。應該將數據存儲在數據庫服務器(如 Microsoft SQL Server)上的表中,而不要存儲在Microsoft Access中的本地表內。Access應用程序(客戶程序)從服務器中檢索它所需要的數據。服務器維護數據的完整性并運行任何它可以求解的查詢。
鎖定信息(.ldb)文件
以共享方式打開Access數據庫文件(.mdb)時,Microsoft Access會用同一文件名(例如,Northwind.ldb)在該數據庫文件所在的文件夾中,創建一個鎖定信息文件(.ldb)。該鎖定信息文件存儲計算機名(如mypc)和每位數據庫共享用戶的安全名稱(如Admin)。Microsoft Access使用該信息來控制并發訪問。大多數情況下,在最后一個用戶關閉數據庫文件時,Microsoft Access會自動刪除鎖定信息文件。
編輯共享數據庫中的數據
在多用戶環境下,可能會有多個人同時對同一條記錄進行操作。因為其他人可以更改,甚至可以刪除您正在編輯的數據,所以有時可能會與其他工作用戶發生沖突。
Microsoft Access可以幫助追蹤正在編輯的記錄的狀態,并確保您使用的是最新數據。當兩人或多人都要編輯同一條記錄時,Microsoft Access會顯示信息來幫助解決沖突。例如,如果試圖保存一條由其他用戶鎖定的記錄,則Microsoft Access會顯示鎖定該記錄的用戶的名稱。
為了幫助追蹤記錄的狀態,Microsoft
Access將在當前記錄選定器內顯示下列符號:
符號 含義
這條記錄是當前記錄并且尚未編輯。
您已編輯過這條記錄,但尚未保存所做的更改。只要顯示該符號,其他用戶就看不到對這條記錄的更改,而且如果將這個記錄鎖定,他們也不能編輯這條記錄。若要將該記錄釋放給其他用戶使用,請保存或撤消所做的更改。
這條記錄已由其他用戶鎖定。不能對其進行編輯。如果試圖在一個鎖定的記錄內鍵入數據,Microsoft Access將發出警告聲。
還可以設置以下選項,用以控制共享數據庫中數據的鎖定和數據的刷新。
默認記錄鎖定設置
不鎖定Microsoft
Access不鎖定您正在編輯的記錄。當試圖保存對某條記錄的更改,而其他用戶已對該記錄作了更改時,Microsoft Access將顯示選擇信息:是覆蓋其他用戶對該記錄所做的更改,將自己的記錄版本復制到剪貼板上,還是放棄所做的更改。該策略可以確保記錄總可以被編輯,但會造成用戶之間的編輯沖突。
已編輯的記錄Microsoft Access將鎖定您正在編輯的記錄,因此其他用戶不能更改該記錄。這樣也可能同時鎖定存儲在您磁盤上的其他相鄰記錄。如果另一位用戶試圖編輯您已鎖定的記錄,則Microsoft Access會在那位用戶的數據表中顯示鎖定記錄指示符 。該策略可以確保您總能完成已經開始的更改任務。如果不經常有編輯上的沖突,則最好采用該策略。
所有記錄 對于您已打開進行編輯的窗體或數據表(及基表),Microsoft Access將在打開的整段時間內,鎖定其中的所有記錄,使其他人不能編輯或鎖定這些記錄。該策略具有限制性,因此請在確認您是唯一需要編輯記錄的人時,才選用該策略。
在使用ODBC編輯鏈接的SQL數據庫表中的數據時,Microsoft Access并不鎖定記錄;而由該SQL數據庫的規則來管理鎖定。這種情況下,不論對數據庫選擇哪一種鎖定記錄設置,Microsoft Access都會按選擇“不鎖定”設置來處理。
頁級和記錄級鎖定
可以指定Access在共享數據庫中使用的鎖定級別。如果使用頁級鎖定,則Access會鎖定4K的頁(記錄所在的內存區域),而且編輯記錄時可能會導致附近存儲的其他記錄也被鎖定。不過,使用頁級鎖定時性能往往較好。
如果使用記錄級鎖定,Access將只鎖定您正編輯的記錄。這將成為通過窗體、數據表訪問數據時,以及通過使用記錄集對象循環遍歷記錄的代碼來訪問數據時的默認行為,但不是通過操作查詢或通過使用SQL語句進行大量數據操作訪問數據的默認行為。
更新重試間隔和刷新間隔設置
可以使用“更新重試間隔”和“更新重試次數”設置來指定Microsoft Access嘗試保存被另一用戶鎖定的記錄的頻率和次數。也可以使用“ODBC刷新間隔”和“刷新間隔”設置來控制Access刷新數據的頻率。刷新只會更新數據表或窗體中已有的數據,并不將記錄重新排序,不顯示新記錄,也不去除已刪除的記錄和已不再滿足條件的記錄。若要查看這些更改,必須重新查詢數據表或窗體的基礎記錄。
保存共享數據庫中的設計更改
當有其他用戶正打開Access數據庫時,用戶不能將設計更改保存到Microsoft Access數據庫中。確保更改保存的唯一途徑是以獨占 模式打開Access數據庫。
通常,當試圖對數據庫對象(除了表和查詢)或共享模式中的某一項進行設計更改時,如果當時您是Access數據庫的唯一用戶,則Access將臨時提升您以獨占模式使用Access數據庫。當保存所有設計更改并關閉所有“設計”視圖窗口時,Access會將Access數據庫返回共享模式。在此期間,其他用戶不能打開Access數據庫。
如果其他用戶以共享模式打開了Access數據庫而您試圖做一個主要的設計更改,如修改窗體,則Access會警告您可能不能保存更改。但如果其他用戶以共享模式打開Access數據庫而您試圖做一個次要的設計更改,如更改打印機設置,則Access不會警告您不能保存更改。在這兩種情況下,都要等到成為Access數據庫的唯一用戶時,您才能保存主要設計更改,而Access保存次要設計更改。
數據訪問頁的處理方式有所不同。盡管創建、重命名、移動和刪除數據訪問頁仍要求使用獨占模式(因為這要更改Access數據庫中的信息),但是編輯數據訪問頁不要求提升為獨占模式(因為相應的HTML文件存在于數據庫以外的文件系統中)。
主次設計更改之間的差別
如果沒有以獨占模式訪問Access數據庫,則Access將在可能無法保存以下主要設計更改時向您發出警告:
在“設計”視圖中對數據庫對象的更改(除表和查詢以外)
在“窗體”視圖中對窗體屬性表的更改
在“Visual
Basic編輯器”中編譯項目、修改項目屬性、添加或刪除引用
重命名、粘貼或刪除數據庫對象
將數據庫對象另存為其他類型的數據庫對象
添加或修改命令欄上的控件
在“數據庫”窗口中編輯自定義組
創建、重命名、移動和刪除數據訪問頁
如果沒有以獨占模式訪問Access數據庫,則在可能無法保存以下次要設計更改時,Access不會發出警告:
對數據表格式(如線型和字體屬性)的更改
凍結、撤消凍結、隱藏和顯示數據表列
調整數據表列寬和行高
對窗體或數據表篩選或排序次序的更改
對子數據表狀態的更改(展開還是折疊)
對OLE對象的OLE/DDE鏈接的更改或對未綁定對象框內容的更改
對打印機設置的更改
對命令欄的更改,如命令欄的位置及其是否可視
對“數據庫”窗口布局的更改
共享Access數據庫設計和開發的策略
如果要共享Access數據庫的設計,不妨考慮使用以下策略:
針對特定的開發者指定特定的對象或對象組。例如,一位開發者設計窗體而另一位設計報表。然后,每位開發者可以在Access數據庫的私有副本上工作。當開發小組準備測試、組裝和生產時,每位開發者從各自的私有數據庫副本中將數據庫對象導出到主Access數據庫中。
使用源代碼控制程序。如果使用Visual SourceSafe,最好定期運行“性能分析器”(在“工具”菜單上指向“分析”,然后單擊“性能”即可打開)來保持最佳性能。
有關在共享數據庫中保存設計更改的提示
如果另一位用戶已打開某個表或正在查看基于該表的查詢、窗體或報表中的數據,則不能更改該表的設計。Microsoft Access將告知該表為只讀。
如果某些對象彼此依賴,請同時將它們全部更新,這樣其他用戶才不至于打開不一致的對象版本。例如,如果要在某窗體中添加新字段,請在更新該窗體前確保也在基礎查詢中添加了新字段。
如果更改另一位用戶已經打開的查詢,則該用戶必須在關閉并重新打開更改的對象后,才能使用最新的版本。在使用Visual Basic for Applications
(VBA)模塊時,其他用戶必須先關閉Access數據庫然后再重新打開,才能運行更新后的Function或Sub過程。
設置共享Access數據庫的選項(MDB)
注釋本主題中的信息僅適用于Microsoft Access數據庫(.mdb)。
在“工具”菜單上,單擊“選項”。
單擊“高級”選項卡。
請執行下列一項或多項操作:
指定Microsoft
Access數據庫的默認打開模式:共享模式還是獨占模式
在“默認打開模式”下,請執行下列操作之一:
如果希望在打開Microsoft Access數據庫后,其他人仍可以同時打開,請單擊“共享”。
如果希望在打開Access數據庫后,擁有唯一的訪問權,請單擊“獨占”。
注意
即使已將默認打開模式設置為“共享”,仍可以在打開Access數據庫時暫時覆蓋該設置。
如果在多用戶環境下設置安全性,可以通過拒絕用戶對數據庫的“以獨占模式打開”權限,來防止用戶以獨占模式打開Access數據庫。
指定更新重試和刷新間隔設置
請執行下列一項或多項操作:
若要設置Microsoft Access自動嘗試保存由另一個用戶鎖定的已更改記錄的間隔,請在“更新重試時間間隔”框中鍵入毫秒數。有效數值為從0到1,000。
若要設置Microsoft Access嘗試保存由另一個用戶鎖定的已更改記錄的次數,請在“更新重試的次數”框中鍵入次數。有效數值為從0到10。
若要設置Microsoft Access自動刷新用戶使用ODBC所訪問的記錄的間隔,請在“ODBC刷新間隔”框中鍵入秒數。有效數值為從1到32,766。
若要指定數據自動更新的頻率,請在“刷新間隔”框中鍵入秒數。有效數值為從1到32,766。 例如,如果鍵入120,則數據每2分鐘更新一次。只有當數據庫是在網絡上進行共享時,該設置才生效。
指定記錄鎖定策略
當用戶編輯記錄時,Microsoft
Access在該用戶結束記錄編輯之前會自動禁止其他用戶更改該記錄。賦予一位用戶對一條記錄的獨占訪問權即稱作“鎖定”。
在“默認記錄鎖定”下,請執行下列操作之一:
在編輯記錄時,若要防止鎖定記錄,請單擊“不鎖定”。
在編輯記錄時,若要鎖定窗體或數據表(以及基表)中的所有記錄,請單擊“所有記錄”。
若要僅鎖定正在編輯的記錄,請單擊“編輯記錄”。
指定記錄級或頁級鎖定
請執行下列操作之一:
若要使記錄級鎖定成為當前Microsoft Access數據庫的新默認設置,可選中“使用記錄級鎖定打開數據庫”復選框。
若要使頁級鎖定成為當前Access數據庫的的新默認設置,可清除“使用記錄級鎖定打開數據庫”復選框。
下次打開Access數據庫時,該設置就會生效,但是前提是必須使用“文件”菜單中的“打開”命令,而不能使用“文件”菜單底部的最近使用的文件列表。
Access軟件網QQ交流群(群號:39785885)
Access源碼網店
總結
以上是生活随笔為你收集整理的access mysql并发_多用户同时使用ACCESS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端面试题Vue-cli目录汇总
- 下一篇: 阿里数据库内核月报:2017年04月