【问题标题】:Sync data between a windows desktop app and windows mobile client app在 Windows 桌面应用程序和 Windows 移动客户端应用程序之间同步数据
【发布时间】:2011-02-23 10:24:53
【问题描述】:

我需要在接下来的几天内完成一个非常快速的原型/概念验证应用程序,以便在接下来的几天内向某人演示,这样我就可以像往常一样充分研究这个问题了。该设置是一个在笔记本电脑上运行的非常简单的数据库应用程序 - 将只有一个用户更新几个表,所以我正在考虑针对 SQL Compact 敲击一个基本的 Win Forms 应用程序。 Visual Studio 的自动生成的数据网格编辑屏幕只需稍加定制即可。第二个方面是添加一个 windows 移动客户端应用程序,该应用程序可以从存储在笔记本电脑上的两个表中提取数据、编辑一些数据并插入一些额外的行,然后再将更改发送回数据库的笔记本电脑副本。

我还没有进行过任何 WinMo 开发,那么什么是对我来说最好的方法。当WinMo设备通过USB连接到笔记本电脑时,两个数据库之间的数据同步是否足够容易?

到目前为止,我查看的大多数示例似乎都在使用 IIS 将 SQL Compact 与 SQL Standard 同步,这似乎有点矫枉过正。要同步的数据量非常小,如果在连接设备时我可以轻松地从笔记本电脑应用程序中查询/更新 Compact DB,我可以轻松编写一些手动同步代码。

编辑:

我看到有人提到使用 RAPI 是一种快速简便的解决方案 - 连接设备后,将数据库复制到笔记本电脑,连接并执行必要的魔法,然后将其复制回设备。这种方法有什么问题吗?这是一个笔记本电脑用户和一个移动设备用户同步,所以这是非常基本的东西。在任何一次同步中,更新量可能少于 10 条记录。

【问题讨论】:

    标签: c# windows-mobile synchronization sql-server-ce


    【解决方案1】:

    看看Microsoft's Sync Framework。有synchronizing SQLCEcontact data 的例子。 Sync Developer Center page 也有大量信息。

    尝试手动执行此操作并不有趣。这听起来很简单,但是一旦您了解诸如碰撞检测、优先级、事务、保证交付和大量其他内容之类的东西,您就会发现它确实不像您想象的那么简单。

    编辑

    如果你的场景真的像你说的那么简单(即它不是真正的同步,而是数据副本)那么是的,RAPI is probably the easiest mechanism 如果 ActiveSync 存在并且可以作为解决方案的一部分.这很好,因为您不必编写传输基础设施,如果盒子里的内容不够,您可以随时写custom RAPI extensions

    【讨论】:

    • 谢谢,在这种特定情况下,手动操作真的很简单——如果让笔记本电脑应用程序连接到手持设备上的数据库很容易,我可以用 2 个简单的查询进行同步,或者相反反之亦然,但我会看看那个例子。
    猜你喜欢
    • 1970-01-01
    • 2018-04-14
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多