2011-05-14 53 views
1

我有一个桌面应用程序,可处理餐厅的产品,客户和订单。服务员使用手机(搭配Windows Mobile 6.5操作系统)接受订单。我需要的是:Windows Mobile:从移动移动和同步访问桌面数据库

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

问题:

  • 我需要SQLCE数据库中每一个移动电话或倒不如直接访问桌面数据库?
  • 如何将移动数据库与桌面数据库同步?

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

我希望这是很清楚,并提前感谢。

回答

2

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

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

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

有不同的方法,可以做的伎俩

  • SyncFramework
    • 没有测试它尚未
  • 自定义Web服务
    • 我用一个目录同步web服务和一个商业Webservice
  • 桌面Craddle
    • 您可以使用智能设备框架RAPI类,复制数据库以及通过其他程序进行同步到数据库中。
0

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

顺便说一句,他们对数据表和数据适配器说的是真的。不要在移动设备上使用它们 - 它们速度很慢。我转换为简单的业务对象(PO​​CO)并获得了巨大的性能提升。

Cheers
Mark