4

我正在使用 Sync Framework v1(其中包括 ADO.NET v2 的同步服务)和移动 v1 的同步服务。

我可以将移动设备上的 SQL Compact Edition 数据库同步到台式 PC 上的 SQL Express。

我还可以使用 WCF 将 SQL CE 数据库从台式 PC 同步到 Web 服务器上的 SQL Server 数据库。

我想在移动设备对接时从移动设备同步到桌面,然后让桌面 PC 与网络服务器同步(桌面计算机上的副本以防网络连接不可靠)。

理想情况下,无论如何我都想避免使用 SQL Express,因为我希望移动和桌面设置尽可能简单。

不幸的是,似乎无法将这些部分组合在一起以建立我需要的连接,因为:

  1. 移动设备同步到 PC 上的 SQL Express,我无法从 SQL Express 同步到 SQL 服务器。
  2. 同步到 SQL 服务器必须来自 SQL CE,我无法将移动设备同步到桌面上的 SQL CE

这是不可能的,还是可能有大量代码(自定义 SyncProviders 和手工制作的更新语句等),还是我错过了一些明显的东西?

谢谢你的时间!标记。

4

2 回答 2

2

我正在为实时应用程序使用相同的基本设置,并且运行良好。我让移动设备使用 Web 服务与服务器同步(WCF 也可以),我让桌面应用程序同步有点像这样,一切都很顺利。

一般来说,让客户端与服务器同步是一个坏主意,然后再与服务器同步,因为这样您必须管理更多状态,而常用工具和指南对您没有多大帮助。

我还建议不要使用 sql 合并复制,除非您认为自己是管理 SQL 的专家,因为如果您现在不是专家,那么等您觉得安全使用它时,您就会成为专家。

需要注意的是,如果您愿意花时间和精力制作自己的 Sync Framework 提供程序,那么您会发现几乎没有什么是您做不到的。

于 2009-04-20T16:21:05.383 回答
1

我想“预期”模式是在桌面上使用 SQl Express 并使用合并复制到服务器。

我不希望您可以将桌面上的 SqlCe 用作 Sync 框架的“服务器”端。除其他外,SqlCe 是单用户,不适用于 SyncAgent。即使它在您的情况下似乎可行。

可能的工作是让移动与服务器同步,桌面也与服务器同步。但我意识到这并不能解决您的连接问题,并且可能会使 PC 上的副本变得多余。

于 2009-04-20T16:04:55.110 回答