J'utilise SQL Server 2005 CE framework 3.5 et j'essaie d'utiliser la réplication de fusion entre mon handheld et mon SQL Server. Quand je lance le code pour le synchroniser, il semble que je reste immobile, et quand je mets un point d'arrêt dans mon code, il ne passe jamais l'appel de Synchronize().Sql Server CE 3.5 Replication Synchronize est suspendu
Si je regarde le moniteur de réplication dans le serveur SQL, il arrive au point où il dit que l'abonnement n'est plus synchronisé et ne montre aucune erreur. Par conséquent, je suppose que cela signifie que la synchronisation est complète.
http://server/virtualdirectory/sqlcesa35.dll?diag ne signale aucun problème.
Ceci est ma première tentative de tout développement de poche, donc j'ai peut-être fait quelque chose de stupide. Toutefois, SQL Server semble signaler une synchronisation réussie.
Toute aide serait grandement appréciée car j'ai passé des heures à ce sujet!
Voici mon code.
const string DatabasePath = @"SD Card\mydb.sdf";
var repl = new SqlCeReplication
{
ConnectionManager = true,
InternetUrl = @"http://server/virtualdirectory/sqlcesa35.dll",
Publisher = @"servername",
PublisherDatabase = @"databasename",
PublisherSecurityMode = SecurityType.DBAuthentication,
PublisherLogin = @"username",
PublisherPassword = @"password",
Publication = @"publicationname",
Subscriber = @"PPC",
SubscriberConnectionString = "Data Source=" + DatabasePath
};
try
{
Cursor.Current = Cursors.WaitCursor;
if (!File.Exists(DatabasePath))
{
repl.AddSubscription(AddOption.CreateDatabase);
}
repl.Synchronize();
MessageBox.Show("Successfully synchronised");
}
catch (SqlCeException e)
{
DisplaySqlCeErrors(e.Errors, e);
}
finally
{
repl.Dispose();
Cursor.Current = Cursors.Default;
}