Vorgehensweise: Erneutes Initialisieren eines Abonnements (programmgesteuert)
In diesem Thema erfahren Sie, wie ein Abonnement in Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) mithilfe der SqlCeReplication-Klasse erneut initialisiert wird. Weitere Informationen zum Verwenden des SqlServerCe-Namespaces finden Sie in der Referenzdokumentation zum SqlServerCe-Namespace.
Sie initialisieren Sie ein Abonnement neu
Initialisieren Sie ein SqlCeReplication-Objekt.
SqlCeReplication repl = new SqlCeReplication();
Legen Sie die Verbindungseigenschaften fest. Diese Eigenschaften geben den Namen und den Speicherort der Veröffentlichung an, die Sie abonnieren, den Namen und den Speicherort der lokalen SQL Server Compact 3.5-Datenbank sowie den Speicherort des Server-Agents für SQL Server Compact 3.5.
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.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";
Rufen Sie die ReinitializeSubscription-Methode auf, um das Abonnement für die Neuinitialisierung zu kennzeichnen. Wenn Sie den Wert true an die ReinitializeSubscription-Methode übergeben, werden Änderungen am Abonnenten zum Verleger hochgeladen, bevor die Neuinitialisierung vorgenommen wird. Wenn Sie false übergeben, werden alle Änderungen am Abonnenten während der Neuinitialisierung verworfen.
repl.ReinitializeSubscription(true);
Um das Abonnement neu aufzufüllen, müssen Sie die Synchronize-Methode nach dem Aufruf der ReinitializeSubscription-Methode aufrufen.
repl.Synchronize();
Beispiel
Dieses Beispiel zeigt, wie ein SQL Server Compact 3.5-Abonnement erneut initialisiert wird. In diesem Beispiel werden alle Änderungen am Abonnenten zuerst zum Verleger hochgeladen, das Abonnement wird neu initialisiert, und dann werden die Daten synchronisiert.
SqlCeReplication repl = null;
try
{
// Create SqlCeReplication instance
//
repl = new SqlCeReplication();
repl.InternetUrl = "https://www.adventure-works.com/sqlmobile/sqlcesa35.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/sqlcesa35.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
Siehe auch
Andere Ressourcen
Verwenden der Mergereplikation
Abonnieren von Veröffentlichungen (SQL Server Compact)
Erneute Initialisierung eines Abonnements (SQL Server Compact)