正在同步MS Access数据库文件

正在同步MS Access数据库文件

问题描述:

我正在开发一个包含大约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将是最受欢迎的!

它一直以来我做了一段时间,但间接的方法在类似的情况下,复制对我来说效果很好。

需要设置一些东西。这份文件曾经令人震惊,但我发现了由迈克尔卡普兰(又名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

关于复制信息的来源,请从我的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路线。