2009-04-21 12 views
5

Je suis nouveau dans le développement de Windows Mobile et j'ai étudié des méthodes pour synchroniser les données entre le PDA exécutant WM6 et une base de données SQL Server 2005. Après quelques recherches j'ai décidé d'aller avec Windows Synchronization Services.Erreur de synchronisation Windows Mobile

j'ai commencé en regardant l'échantillon: SyncServicesForDevicesSample

J'ai téléchargé et installé tous les logiciels requis décrits dans le readme dont:

  • Visual Studio 2008 SP1 Professional
  • SQL Server Service Compact 3.5 Pack 1 (SP1)
  • Services de synchronisation pour ADO.NET 1.0 (périphériques)

Lorsque je charge l'exemple j'ai noté que la référence System.Data.SqlServerCe.dll dans le projet "GBADeviceClient" était manquante, donc je l'ai lié à la version dans C: \ Program Files \ Microsoft SQL Server Compact Edition \ v3 .5 \ Devices qui était 3.5.5386.0.

Quand je lance le projet, je reçois le message d'erreur suivant:

fichier ou le nom d'assembly 'System.Data.SqlServerCe, Version = 3.5.1.0, Culture = neutral, PublicKeyToken = 3BE235DF1C8D2AD3' ou l'une de ses dépendances, n'a pas été trouvé .

Quand je regarde sur l'émulateur (Suppression de programmes) J'ai des logiciels suivants:

  • Sync Services pour ADO.NET 1.0
  • CF Microsoft .Net 3.5 FR-String R .. .
  • SQLServerCompact 3,5 Toos FR
  • SQLServerCompact 3.5 Rempl
  • SQLServerCompact 3.5 de base Microsoft
  • .NET CF 3.5

Donc la mauvaise version du fichier est appelée sur le PDA ... comment faire référence à la version 'correcte'?

Est-il également possible de synchroniser un sous-ensemble de données (environ 10 tables, dont la plupart sont des listes de recherche uniquement) à partir d'une base de données SQL Server 2005?

Merci d'avance.

+0

La version de l'assembly est 3.5.1.0 pour la version de System.Data.SqlServerCe de bureau, mais je ne suis pas sûr comment cela affecte la version de périphérique? – ptutt

+0

Peut-être que les services de synchronisation sont sur-conçus pour mes besoins.Je suis nouveau dans le développement mobile et cela semble être une cible mouvante en ce qui concerne les techniques de synchronisation, ce qui me rend réticent à utiliser les 'derniers et meilleurs' de Microsoft, surtout qu'il m'a fallu des jours pour essayer de faire fonctionner l'échantillon. – ptutt

+0

Je pense que la solution la plus simple à ce stade est d'utiliser OpenNETCF Desktop Communication pour copier le fichier de base de données vers/depuis le périphérique et écrire du code personnalisé pour le processus de synchronisation. Ce processus peut être démarré manuellement par l'utilisateur. – ptutt

Répondre

1

Vérifiez à nouveau si vous avez installé SQL Server Compact 3.5 SP1 pour Windows Mobile (download here). Après avoir installé le SP1, il vaut mieux désinstaller la version précédente de l'émulateur et déployer à nouveau votre application pour installer la dernière version.