Da's een andere vraag. Jouw vraag ging over een sync tussen de desktop en de smartdevice application.
Nu wil je vanuit beide applicaties dezelfde database benaderen en dat is iets heel anders en heeft totaal niets te maken met het MS SYNC FRAMEWORK.
Het sync framework kun je enigszins vergelijken met subversion. Alle svn clients (zowel developers als een autobuild call) updaten hun lokale versie aan de hand een repository. Op het moment dat meerdere clients wijzigingen hebben voor dezelfde versie moet elke volgende commit een merge actie doen.
Het MS Sync Framework bouwt verder op de Remote Data Access functie van SQL Compact. Daarmee kun je ook andere data sources als repository gebruiken (zoals MS Exchange). Omdat het sync framework support heeft voor custom providers kun je theoretisch elke machine inzetten als repository. Een repository draaien op een desktop pc is dus wel mogelijk, maar niet verstandig als je nog onbekend bent met het framework omdat het dan erg lastig wordt om de providers te debuggen als het niet werkt.
Een goede introductie over het Sync framework en hoe deze intern werkt kun je vinden op
http://msdn.microsoft.com/en-us/sync/bb821992.aspx. Op MSDN kun je ook code examples vinden.
Het direct benaderen van een database vanuit beide applicaties werkt het beste middels ADO.net. Het MS Sync framework is meer bedoeld voor 'occassional connected devices' en dus niet continue een verbinding met de 'live' database kunnen opbouwen.
Zo zetten wij het sync framework vooral in voor managers. Via het sync framework worden bepaalde cijfers uit de database getrokken en worden daarna in een MS Access database geplaatst. Managers kunnen de access database gebruiken in PowerPoint of Excel. Dit werkt in ons geval efficiënter en flexibeler dan het gebruik van Reporting Services (local source).
If it isn't broken, fix it until it is..