1

我正在開發一個包含大約10個表的數據庫。基本上它將用於2或3個遙遠的地理位置(我們稱之爲A,B和C)。所需的工作流程如下: A,B和C應始終具有相同的數據庫。因此,當A做任何更改時,他應該能夠將這些更改發送到B和C.通過電子郵件發送整個mdb文件沒有意義,因爲它的大小爲15 + mb。因此,我想將新的附加記錄和更改僅發送給B和C.B和C的更改也應該反映給其他各方。我怎樣才能做到這一點? 我有一些想法,但繼續知道如何實現它。正在同步MS Access數據庫文件

解決方案'A' - 只將數據表導出到xls文件併發送郵件。但是將表導入mdb文件可能有點複雜吧?隨着時間的推移,xls文件也會越來越大。

解決方案'B' - 嘗試提取更改並僅發送新部件? (但如何提取這些)

解決方案'C' - 找到某種方式將所有用戶同步到同一個數據庫(存儲)位置。我考慮通過將表格存儲在母公司服務器(也是海外)的共享驅動器中來實現前端/後端拆分解決方案。但是位置之間的網絡連接非常緩慢,我不知道需要多少帶寬。

任何recomendations將是最受歡迎的!

回答

0

它一直以來我做了一段時間,但間接的方法在類似的情況下,複製對我來說效果很好。

需要設置一些東西。這份文件曾經令人震驚,但我發現了由邁克爾卡普蘭(又名Michka)寫的文章,這篇文章向我介紹瞭如何做到這一點。

如果您的最終環境會相當穩定,那麼請使用Access的整個方式。如果沒有,那麼我會敦促你採用HansUp的建議並使用SQL Server或SharePoint。

請注意:如果您使用的是Access 2007或更高版本,則不直接支持複製,並且您必須自行滾動您的零件。如果你使用的是較早的安裝,那麼你會好起來的,但是留出一些時間去抓一些頭。

+0

A2007還支持Jet複製,但只與MDB格式。當你打開一個MDB時,它的菜單就在那裏。鑑於間接複製是唯一可以成爲原始場景有效解決方案的解決方案,因此間接複製並非相關,因爲間接確實需要代碼(不是完全的,但沒有任何意義的人會強制用戶通過Access選擇同步器UI,尤其是考慮到他們錯誤地選擇DIRECT的危險)。 – 2010-07-15 23:20:55

+0

聽起來很棒。就像我說的那樣,自從我這樣做以來已經有一段時間了。簡短的回答:可以。長答案:需要一些工作。 – AMW 2010-07-16 14:57:23

4

關於複製信息的來源,請從我的Jet Replication Wiki開始。

但我永遠不會推薦Jet複製爲您的方案。我目前推薦它的唯一環境(我自1997年以來一直在複製應用程序,並且仍有幾個在生產中使用),用於支持必須處理與任何網絡斷開連接的現場數據的筆記本電腦用戶,並返回到家庭辦公室並與母船直接同步。

與Access應用程序最簡單的解決方案將被託管在Windows終端服務器/ Citrix的應用程序和用戶將通過遠程桌面連接運行它,或者使用SharePoint。終端服務器/思傑解決方案不適合斷開連接的用戶,但Sharepoint可以適應離線使用並在連接時同步更改。進入2010和2010年的SharePoint提供的新功能,包括更好的架構設計,觸發器相當於大大提高peformance大型SharePoint列表主機,所以這是一個沒有腦子,我認爲,如果你選擇的Sharepoint你想使用A2010和Sharepoint 2010.

雖然可以使用Jet Replication進行自己想要的操作,但它需要在服務器和客戶端上進行大量設置,並且相對脆弱(如果您使用間接方式,則不需要數據完整性複製(如你應該的那樣),但是就網絡可靠性而言) - 移動部件太多,失敗點太多。

Windows終端服務器/ Citrix是迄今爲止最簡單的,用最少的移動部件,完全集中管理,而且運作非常良好的投資相對較少。

的SharePoint比WTS /的Citrix更復雜,但較不復雜和比Jet複製溶液更集中。

如果是我,我可能會使用WTS/Citrix,如果不需要斷開連接的使用,但我會在試用A2010/Sharepoint 2010時流口水。如果需要斷開使用,那麼我肯定會去Sharepoint路線。