Vorgehensweise: Erneutes Initialisieren eines Abonnements in SQL Server Compact Edition (programmgesteuert)
In diesem Thema erfahren Sie, wie ein Abonnement in Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 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 Publikation an, die Sie abonnieren, den Namen und den Speicherort der lokalen SQL Server Compact Edition-Datenbank sowie den Speicherort des Server-Agents für 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";
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 geuploadet, 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 Edition-Abonnement erneut initialisiert wird. In diesem Beispiel werden alle Änderungen am Abonnenten zuerst zum Verleger geuploadet, 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/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
Siehe auch
Konzepte
Verwenden der Mergereplikation
Abonnieren von Publikationen (SQL Server Compact Edition)
Erneute Initialisierung eines Abonnements (SQL Server Compact Edition)