【发布时间】:2010-10-20 18:12:09
【问题描述】:
我是 Windows Mobile 开发的新手,我一直在研究在 PDA 运行的 WM6 和 SQL Server 2005 数据库之间同步数据的方法。经过一番研究,我决定使用 Windows 同步服务。
我从查看示例开始:SyncServicesForDevicesSample
我下载并安装了自述文件中列出的所有必备软件,包括:
- Visual Studio 2008 专业版 SP1
- SQL Server Compact 3.5 Service Pack 1 (SP1)
- ADO.NET 1.0(设备)的同步服务
当我加载示例时,我注意到“GBADeviceClient”项目中的 System.Data.SqlServerCe.dll 引用丢失,因此我将其链接到 C:\Program Files\Microsoft SQL Server Compact Edition\v3 中的版本.5\Devices 是 3.5.5386.0。
当我运行项目时,我收到以下错误消息:
文件或程序集名称 'System.Data.SqlServerCe, 版本=3.5.1.0,文化=中性, PublicKeyToken=3BE235DF1C8D2AD3',或 它的依赖项之一,不是 找到了。
当我查看模拟器(删除程序)时,我安装了以下软件:
- ADO.NET 1.0 的同步服务
- Microsoft .Net CF 3.5 EN-String R...
- SQLServerCompact 3.5 工具 ZH
- SQLServerCompact 3.5 Repl
- SQLServerCompact 3.5 核心微软
- .NET CF 3.5
所以在 PDA 上调用了错误的文件版本...如何引用“正确”版本?
或者,是否有更简单的方法来同步来自 SQL Server 2005 数据库的数据子集(大约 10 个表,其中大多数只是查找列表)?
提前致谢。
【问题讨论】:
-
System.Data.SqlServerCe桌面版的程序集版本是3.5.1.0,但不知道对Device版本有什么影响?
-
也许 Sync Services 对我的要求进行了过度设计。我是移动开发的新手,就同步技术而言,它似乎是一个不断变化的目标,这让我不愿意使用微软的“最新最好的”,特别是因为我花了好几天的时间试图让样本工作。
-
我认为此时最简单的解决方案是使用 OpenNETCF 桌面通信将数据库文件复制到设备或从设备复制数据库文件,并为同步过程编写一些自定义代码。这个过程可以由用户手动启动。
标签: windows-mobile synchronization sql-server-ce