我正在开发一个在Windows Mobile 6上使用Merge Replication和SQL Compact的软件。目前它在5台设备上运行得相当不错。
我遇到的问题如下:
架构必须经常改变,并且随着应用程序的发展而不断变化。将这些架构更改复制到设备时出现了各种错误,由于架构不一致而导致上载失败。
订阅到期(14天后)并且无法通过上传重新初始化 - 即AKA,此时未确认数据的潜在数据丢失。
基本上,最糟糕的情况是数据丢失,当合并复制失败时,似乎无法恢复数据。到目前为止,我的方法是删除并在设备上创建订阅。我听不到很多人这样做,虽然它似乎解决了一切。
长期计划是将此作用于500多种设备。对于已经开展类似项目的人员,以及如何最大限度地减少数据丢失并使其具有适当的错误处理代码以从同步失败中恢复的任何建议将非常感激。
答案 0 :(得分:0)
从脚本重建复制似乎是一项相当简单的任务,直到您开始陷入数据不一致状态,然后必须手动更正数据才能进行同步。
我建议你研究ADO.Net的Sync Services而不是复制。
答案 1 :(得分:0)
我们一直在使用名为Utility Center的应用程序大约7年,它使用SQL Server合并复制。目前我们在120台机器上有应用。我们经常遇到数据无法访问订阅者的问题,但它不会使软件无法使用。此外,该软件还安装在笔记本电脑上,人们可以将其关闭等等。另外,有些人会无线同步,这有一系列问题。
答案 2 :(得分:0)
建议你看看Rob Tiffany的书,它提供了扩展到许多用户的建议。为了在订阅到期时保存数据,您可以实现Web服务来上载sdf,然后通过设置一个小的utitlty来应用设备数据库中的任何插入/更新/删除。