寻找同步 .mdb 访问数据库的替代方案(创可贴)
Posted
技术标签:
【中文标题】寻找同步 .mdb 访问数据库的替代方案(创可贴)【英文标题】:Looking for alternative (band-aid) for Synch .mdb Access Database 【发布时间】:2012-03-13 13:48:03 【问题描述】:有人要求我快速解决这个问题。我正在协助的小组有一个 .MDB 数据库,其中的异地工作人员一直没有互联网。因此,早在很久以前,该团队就实现了一个允许同步的 Access DB。
随着团队的壮大,他们开始遇到以下问题:
-
远程同步 - 当用户尝试从工作站点同步时,数据库通常会由于无线信号丢失、程序超时或 Inspector 由于时间(即 30 或更多分钟)
多个同步器 - 我们无法一次同步多个(目前在 3 个不同的地区有 34 个用户)。如果有人正在同步,而另一个人同时尝试同步,则第二个用户最终会收到一条错误消息。他们将不得不关闭他们的数据库并在稍后尝试同步。
不完整的同步 - 有时当工作人员同步他/她的数据库时,并非所有行项目都会复制到主文件,这可能会在审查期间造成混乱。
是否有任何解决方法或项目可以解决这些问题? 我的资源和时间很少,所以涉及新服务器的任何事情都可能无法正常工作。
谢谢
【问题讨论】:
【参考方案1】:听起来好像您主要是从不同的现场操作员那里添加新数据,而不是每个人都更新现有数据,如果是这种情况,那很好,您可以尝试以下方法:
确保所有表都有主键的“复制 ID”,因为这将确保没有两个操作员创建冲突的记录。
然后应该修改同步过程,将所述表/表的快照拍摄到操作员机器上的 .txt 文件中,然后将该文件传输回源机器。
然后在一天结束时或更频繁的情况下,应该设置主副本以从它收到的所有文本文件中导入新数据,因为不会有冲突的主键,你应该没问题,只是请记住只插入那些主键尚未在表中的那些。
希望一切都有意义:)
【讨论】:
似乎有道理。因此,不要“同步”,而是让离线用户获得一个 txt 导出并让互联网用户拿起它 @ds_12_will 更多所有远程用户(在线或离线)导出到文本文件,然后可以将其传输回办公室或任何它所在的主要主副本,并且可以导入所有数据例如,在一天结束时。所有用户都需要查看彼此的数据还是只添加他们正在做的新东西? 只需添加他们正在做的事情。他们可能会更新前一天的记录。我认为您提出的解决方案效果最好,我只需要创建语法来检查记录是新的还是使用过的。如果更新多个表,这会怎样?使 text.txt 文件具有表名? @ds_12_will 您可以合并表名以帮助更新哪些表,我还将引入用户名和当前日期/时间以确保您的所有文本文件都有唯一的名称。您不需要创建语法来检查记录,就好像您使用我提到的“复制 ID”方法一样,所有记录都将是唯一的,即使来自不同的用户。 是否有设置复制 ID 的细节?以前没听说过以上是关于寻找同步 .mdb 访问数据库的替代方案(创可贴)的主要内容,如果未能解决你的问题,请参考以下文章