Windows Mobile:从移动移动和同步访问桌面数据库

时间:2011-05-14 22:42:21

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

我有一个桌面应用程序,可以处理餐厅的产品,客户和订单。服务员使用手机(使用Windows Mobile 6.5操作系统)接受订单。我需要的是:

  • 手机中的SQLCE数据库,包括客户,产品和表格。手机只会查询这些数据。
  • 手机接收新订单或修改现有订单,因此我需要将此数据发送到桌面数据库并从桌面数据库中获取打开的表格。

问题:

  • 我是否需要在每部手机中使用SQLCE数据库,或者直接访问桌面数据库会更好?
  • 如何将移动数据库与桌面数据库同步?

我在桌面应用程序中使用Microsoft Access数据库,但我认为由于同步而迁移到SQLCE数据库会更好。由于部署要求,我不打算使用SQL Server数据库。

我希望它足够清楚,并提前感谢。

2 个答案:

答案 0 :(得分:2)

  

我是否需要在每部手机中使用SQLCE数据库,或者直接访问桌面数据库会更好?

我的经验取决于工作区域的信号/服务覆盖范围。我更喜欢在每台设备上安装sqlce db。因此,当您拥有设备上常用的数据的缓存副本(产品/表)时,访问速度会更快。

  

如何将移动数据库与桌面数据库同步?

有不同的方法可以解决这个问题

  • SyncFramework
    • 尚未测试
  • 自定义Web服务
    • 我使用一个Catalog Sync Webservice和一个Business Webservice
  • Desktop Craddle
    • 您可以使用智能设备框架RAPI类来复制数据库,并通过其他程序执行同步到数据库。

答案 1 :(得分:0)

我构建了一个具有类似要求的系统。我在Windows Mobile设备上使用SQL CE。我花了很多时间来使用Sync Framework,但我发现它非常复杂,并且由于某种原因它运行得非常慢。我只需要一个从服务器到移动设备的非常简单的单向同步,只有少量数据从另一个方向回流,所以我最终使用WCF服务编写了自己的数据。这是相当多的工作,所以你首先测试一些其他选项是正确的。我真的不喜欢有多个数据库和同步的系统 - 我在过去看到过这些系统的很多问题。如果可能的话要避免!

顺便说一句,他们对数据表和数据适配器的看法是正确的。不要在手机上使用它们 - 它们非常慢。我转而使用简单的业务对象(PO​​CO)并获得了巨大的性能提升。

干杯
标记