【问题标题】:Can I sync mobile, desktop and web server databases with Sync Framework?我可以使用 Sync Framework 同步移动、桌面和 Web 服务器数据库吗?
【发布时间】:2010-10-20 14:42:17
【问题描述】:

我正在使用 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 Server 必须来自 SQL CE,我无法将移动设备同步到桌面上的 SQL CE

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

感谢您的宝贵时间! 标记。

【问题讨论】:

    标签: c# sql-server sql-server-ce microsoft-sync-framework syncservices


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      我还建议不要使用 sql 合并复制,除非您认为自己是管理 SQL 方面的专家,因为如果您现在不是专家,那么当您感到安全使用它时,您将成为专家。

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

      【讨论】:

      • 不幸的是,台式机与服务器的连接可能会断开,所以我不能依赖从手持设备到服务器的数据经过很长的路要走(通过服务器)桌面。
      • 啊,那么我认为您没有理由不能使用从 SqlCe(客户端)到 SqlExpress 的 Sync Framework,但您必须创建自己的提供程序,本指南可能会有所帮助:code.msdn.microsoft.com/Release/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多