【问题标题】:Syncing SQLite with SQLServer using Sync Framework使用 Sync Framework 将 SQLite 与 SQLServer 同步
【发布时间】:2012-08-03 03:13:51
【问题描述】:

我正在尝试制作一个在线应用程序,它可以将 Android 设备上运行的 SQLite 数据库与服务器上运行的 SQL 同步。我们有一个在 .NET 和 Android 上运行的企业应用程序;我们需要同步他们的数据以保持一致性。这将是双向同步:发生的任何数据更改(在客户端或数据库服务器上)都应同步。

我看到这可以通过多种方法实现,但对于这种情况,我建议使用 Microsoft Sync Framework,因为它可以自动执行同步过程并且也很方便。我对使用 Sync 框架进行了一些研究,并在 Microsoft 网站上找到了一些示例。但大多数情况下,他们是在进行离线同步:他们基本上是在桌面上进行同步过程,其中源数据库和目标数据库在同一台机器上。但对于我的情况,情况并非如此。我在客户端机器上有 SQLite,在服务器上有 SQL,所以这里似乎需要一个在线同步过程。

我应该如何做到这一点?

【问题讨论】:

  • 在两个如此不同的数据库之间进行完全通用的同步是非常困难的,如果不是不可能的话。我还假设同步中必须有某种类型的业务规则,如果有人删除了设备上数据库的内容,我认为不应该删除主人?在我看来,您需要提供更多详细信息并稍微限制您的问题,以获得一个远程有用的答案。
  • 感谢您的回复 Joachim - 实际上我们现在只关注添加操作。例如,我通过 android 手机在本地 SQLite 上添加了一条记录,现在当我按下同步按钮时,这条新创建的记录应该与服务器上运行的远程 SQL 同步。

标签: sql-server sqlite synchronization microsoft-sync-framework


【解决方案1】:

它们是示例应用程序,因此为简单起见,它们只是将源数据库和目标数据库都指向本地。没有阻止您将数据库连接重新指向远程服务器。

不要单独查看 Sync Framework SDK,而是查看 Sync Framework Toolkit。那就是解决非 MS 客户端平台的问题。

【讨论】:

  • 感谢您的回复。是的,JuneT 没有阻止我这样做,但我真的很困惑如何去做,因为没有可用的 SQLite 提供程序。
  • 该工具包有一个 SQL Ce 示例,您可以将其用作创建 SQLLite 提供程序的参考
【解决方案2】:

Microsoft 同步服务可用于任何可由 ADO.NET 数据提供程序连接的数据源。您将希望了解如何进行点对点同步。 Microsoft Sync Framework 的规则保存在 SQL Server Compact Edition 数据库中,并且需要驻留在 SQL Server 端,并且很可能您将通过网络连接 (Internet) 执行同步,因此您需要设置一个 Web服务器和 Web 服务以从 Android 端激活同步代理。制作代理和同步适配器将是相当多的工作。幸运的是,有进取心的开发人员已经完成了这项工作:https://ampliapps.com/sqlite-sync/ 还有其他工具,比如我发布的那个,为了透明起见,我对 Ampliapps 没有兴趣,我只知道他们的产品。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多