0

我正在开发一个包含大约 10 个表的数据库。基本上它将用于 2 或 3 个遥远的地理位置(我们称它们为 A、B 和 C)。所需的工作流程如下:A、B 和 C 应始终具有相同的数据库。因此,当 A 进行任何更改时,他应该能够将这些更改发送给 B 和 C。通过电子邮件发送整个 mdb 文件没有意义,因为它的大小为 15+mb。因此,我只想将新的附加记录和更改发送给 B 和 C。B 和 C 所做的更改也应反映给其他相关方。我怎样才能做到这一点?我有一些想法,但不知道如何实现它。

解决方案'A' - 仅将数据表导出到 xls 文件并通过电子邮件发送。但是将表导入 mdb 文件可能有点复杂,对吧?并且 xls is 文件也会随着时间变得越来越大。

解决方案'B' - 尝试仅提取更改并仅通过电子邮件发送新部分?(但如何只提取那些)

解决方案“C” - 找到某种方式将所有用户同步到同一数据库(存储)位置。我正在考虑通过将表存储在母公司服务器(也在海外)的共享驱动器中的前端/后端拆分解决方案。但是位置之间的网络连接非常慢,我不知道这需要多少带宽。

任何建议都将受到欢迎!

4

3 回答 3

4

关于复制信息的来源,请从我的Jet Replication Wiki开始。

但我绝不会为您的方案推荐 Jet 复制。我目前推荐它的唯一环境(自 1997 年以来我一直在做复制的应用程序,并且仍然有几个在生产中使用)是用于支持笔记本电脑用户,这些用户必须在与任何网络断开连接的现场处理实时数据,并返回到家庭办公室并直接与母舰同步。

使用 Access 应用程序最简单的解决方案是将应用程序托管在 Windows 终端服务器/Citrix 上,用户将通过远程桌面连接或使用 Sharepoint 运行它。终端服务器/Citrix 解决方案无法适应断开连接的用户,但 Sharepoint 可以适应离线使用并在连接时同步更改。Access 2010 和 Sharepoint 2010 提供了许多新功能,包括更好的架构设计、触发器的等效性以及大型 Sharepoint 列表的性能显着提高,因此,如果您选择 Sharepoint,您会想使用 A2010,这对我来说是显而易见的和 Sharepoint 2010。

虽然可以使用 Jet Replication 执行您想要的操作,但它需要在服务器和客户端进行大量设置,并且相对脆弱(如果您使用间接复制(如您应该使用的那样),则不会影响数据完整性,但是在网络可靠性方面)——移动部件太多,故障点太多。

Windows Terminal Server/Citrix 是迄今为止最简单的,具有最少的移动部件和完全集中的管理,并且在相对较小的投资中运行良好。

Sharepoint 比 WTS/Citrix 更复杂,但比 Jet Replication 解决方案更简单且更集中。

如果是我,如果不需要断开连接,我可能会选择 WTS/Citrix,但我会因为尝试 A2010/Sharepoint 2010 而垂涎三尺。如果需要断开连接,那么我会绝对走Sharepoint路线。

于 2010-07-15T23:27:39.190 回答
1

您想使用“Jet Replication”。看

于 2010-07-15T07:37:25.510 回答
0

我已经有一段时间没有这样做了,但是在类似的情况下,间接复制方法对我来说效果很好。

需要设置一些东西。文档曾经对此感到震惊,但我发现 Michael Kaplan(又名 Michka)写的文章指导我如何做到这一点。

如果您的最终环境将相当稳定,那么请全程使用 Access。如果没有,那么我会敦促您采纳 HansUp 的建议并使用 SQL Server 或 SharePoint。

请注意:如果您在 Access 2007 或更高版本中工作,则不直接支持复制,您必须自己动手。如果您使用的是较早的安装,您会没事的,但要留出一些时间来抓挠头。

于 2010-07-15T22:02:35.267 回答