Windows Mobile Synchronization Error

2020-07-11 09:33发布

问题:

I am new to Windows Mobile development and have been investigating methods to synchronize data between PDA's running WM6 and a SQL Server 2005 Database. After some research I decided to go with Windows Synchronization Services.

I started by looking at the sample: SyncServicesForDevicesSample

I downloaded and installed all the prerequisite software outlined in the readme including:

  • Visual Studio 2008 Professional SP1
  • SQL Server Compact 3.5 Service Pack 1 (SP1)
  • Synchronization Services for ADO.NET 1.0 (devices)

When I load the sample I noted that the System.Data.SqlServerCe.dll reference in the "GBADeviceClient" project was missing, so I linked it to the version in C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices which was 3.5.5386.0.

When I run the project I get the following error message:

File or assembly name 'System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=3BE235DF1C8D2AD3', or one of its dependencies, was not found.

When I look on the emulator (Remove Programs) I have the following software installed:

  • Sync Services for ADO.NET 1.0
  • Microsoft .Net CF 3.5 EN-String R...
  • SQLServerCompact 3.5 Toos EN
  • SQLServerCompact 3.5 Repl
  • SQLServerCompact 3.5 Core Microsoft
  • .NET CF 3.5

So the wrong file version is being called on the PDA...how do I reference the 'correct' version?

Alternatively, is there an easier way to synchronise a subset of data (about 10 tables, where most of those are lookup lists only) from a SQL Server 2005 database?

Thanks in advance.

回答1:

Check again if you have the SQL Server Compact 3.5 SP1 for Windows Mobile installed (download here). My dll has the version 3.5.5692.0

After installing the SP1, you better uninstall the previous version from the emulator and deploy your application again to install the latest version.