Procédure : réinitialiser un abonnement SQL Server Compact Edition (par programme)
Dans cette rubrique, vous allez apprendre à réinitialiser un abonnement sur Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) à l'aide de la classe SqlCeReplication. Pour plus d'informations sur l'utilisation de l'espace de noms SqlServerCe, consultez la documentation de référence sur l'espace de noms SqlServerCe.
Pour réinitialiser un abonnement
Initialisez un objet SqlCeReplication.
SqlCeReplication repl = new SqlCeReplication();
Définissez les propriétés de connexion. Ces propriétés spécifient le nom et l'emplacement de la publication à laquelle vous vous abonnez, le nom et l'emplacement de la base de données locale SQL Server Compact Edition et l'emplacement de l'Agent serveur SQL Server Compact Edition.
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll"; repl.InternetLogin = "MyInternetLogin"; repl.InternetPassword = "<password>"; repl.Publisher = "MyPublisher"; repl.PublisherDatabase = "MyPublisherDatabase"; repl.PublisherLogin = "MyPublisherLogin"; repl.PublisherPassword = "<password>"; repl.Publication = "MyPublication"; repl.Subscriber = "MySubscriber"; repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
Appelez la méthode ReinitializeSubscription pour marquer l'abonnement en vue de sa réinitialisation. Si vous attribuez la valeur true à la méthode ReinitializeSubscription, les modifications sur l'Abonné sont téléchargées vers le Serveur de publication avant que la réinitialisation n'ait lieu. Si vous attribuez la valeur false, toutes les modifications sur l'Abonné sont rejetées lors de la réinitialisation.
repl.ReinitializeSubscription(true);
Pour remplir à nouveau l'abonnement, vous devez appeler la méthode Synchronize après avoir appelé la méthode ReinitializeSubscription.
repl.Synchronize();
Exemple
Cet exemple illustre comment réinitialiser un abonnement SQL Server Compact Edition. Dans cet exemple, toutes les modification sur l'Abonné sont d'abord téléchargées sur le Serveur d'abonnement, l'abonnement est réinitialisé, puis les données sont synchronisées.
SqlCeReplication repl = null;
try
{
// Create SqlCeReplication instance
//
repl = new SqlCeReplication();
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll";
repl.InternetLogin = "MyInternetLogin";
repl.InternetPassword = "<password>";
repl.Publisher = "MyPublisher";
repl.PublisherDatabase = "MyPublisherDatabase";
repl.PublisherLogin = "MyPublisherLogin";
repl.PublisherPassword = "<password>";
repl.Publication = "MyPublication";
repl.Subscriber = "MySubscriber";
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";
// Mark the subscription for reinitialization with Upload first
repl.ReinitializeSubscription(true);
// Synchronize to SQL Server to populate the Subscription
repl.Synchronize();
}
catch (SqlCeException)
{
// Handle errors here
}
finally
{
// Dispose the repl object
repl.Dispose();
}
Dim repl As SqlCeReplication = Nothing
Try
' Create SqlCeReplication instance
repl = New SqlCeReplication()
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa30.dll"
repl.InternetLogin = "MyInternetLogin"
repl.InternetPassword = "<password>"
repl.Publisher = "MyPublisher"
repl.PublisherDatabase = "MyPublisherDatabase"
repl.PublisherLogin = "MyPublisherLogin"
repl.PublisherPassword = "<password>"
repl.Publication = "MyPublication"
repl.Subscriber = "MySubscriber"
repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"
' Mark the subscription for reinitialization with Upload first
repl.ReinitializeSubscription(True)
' Synchronize to SQL Server to populate the Subscription
repl.Synchronize()
Catch
' Handle errors here
Finally
' Dispose the repl object
repl.Dispose()
End Try
Voir aussi
Concepts
Utilisation de la réplication de fusion
Abonnement à des publications (SQL Server Compact Edition)
Réinitialisation d'un abonnement (SQL Server Compact Edition)