我通过提供一个Access DB来管理各种类型的请求,从而帮助了一家企业。因为他们是一家建筑公司,所以他们在建筑工地的“办公室”里有一台机器,另外还有3台机器在他们的主办公室。现场的机器没有互联网连接。
是否有任何(相当简单的)方法可以经常同步异地和现场数据库?我意识到表可以合并,但每个表都有一个自动增量字段,该字段必须在实例之间同步(即,当合并两个表时,应该根据记录的组合重新分配自动增量)。
提前干杯,
保罗
发布于 2010-04-03 00:54:04
Jet复制是一种解决方案,但并不容易,因为对于远程位置,您必须使用间接复制或Internet复制,这两种复制的设置都相当复杂,并且需要定期维护才能保持可靠的运行。也就是说,间接复制工作得非常好(我从未使用过Internet复制,因为对IIS的硬连接依赖,我认为这是不可接受的)。
有关Jet复制主题的一站式购物,请参阅Jet Replication Wiki。
Microsoft正在逐步淘汰对Access中的Jet复制的支持(尽管我希望只要支持MDB文件而不进行转换,就会支持它),因此,解决这个问题的更好的解决方案可能是使用Microsoft提供的工具来取代Jet复制提供的功能。当然,这将是Sharepoint。在A2007中,Sharepoint对于Jet replication来说还远远不够,但是从A2010和SharePoint2010开始,所有这些都发生了变化。
如果我有一个新客户带着这个需求来找我,即使我在Jet复制方面有多年的经验,我也会推荐A2010和SharePoint2010作为问题的解决方案,并会说等等。
客户可能不想购买Sharepoint服务器,在这种情况下,托管的Sharepoint是可用的,在5月份Office 2010发布后不久,它应该会支持Sharepoing 2010。
当然,也可以手动编写同步程序,但在多主机场景中这是相当复杂的。删除是一个比较困难的问题,但不是无法解决的。
发布于 2010-04-01 22:56:28
对于您的自动编号PK字段,请使用ReplicationID (GUID)而不是long,这样即使断开连接,数据库的所有副本中的编号也将是唯一的。
使用Access进行复制有很多选择。这里有一篇文章可以帮助你入门。
Understanding Access Replication
https://stackoverflow.com/questions/2545000
复制相似问题