Procedura: Reinizializzazione di una sottoscrizione (a livello di programmazione)
In questo argomento viene descritto come reinizializzare una sottoscrizione in Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) mediante la classe SqlCeReplication. Per ulteriori informazioni sull'utilizzo dello spazio dei nomi SqlServerCe, vedere la documentazione di riferimento dello spazio dei nomi SqlServerCe.
Per reinizializzare una sottoscrizione
Inizializzare un oggetto SqlCeReplication.
SqlCeReplication repl = new SqlCeReplication();
Impostare le proprietà di connessione. Queste proprietà specificano il nome e il percorso della pubblicazione che si sta sottoscrivendo, il nome e il percorso del database di SQL Server Compact 3.5 locale e il percorso di Agente server di 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";
Chiamare il metodo ReinitializeSubscription per contrassegnare la sottoscrizione per la reinizializzazione. Se si passa true al metodo ReinitializeSubscription, le modifiche al Sottoscrittore verranno caricate nel server di pubblicazione prima della reinizializzazione. Se si passa false, tutte le modifiche al Sottoscrittore verranno ignorate durante la reinizializzazione.
repl.ReinitializeSubscription(true);
Per popolare nuovamente la sottoscrizione, è necessario chiamare il metodo Synchronize dopo aver chiamato il metodo ReinitializeSubscription.
repl.Synchronize();
Esempio
In questo esempio viene illustrato come reinizializzare una sottoscrizione SQL Server Compact 3.5. Nell'esempio tutte le modifiche al Sottoscrittore vengono innanzitutto caricate nel server di pubblicazione, la sottoscrizione viene reinizializzata e quindi vengono sincronizzati i dati.
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
Vedere anche
Altre risorse
Utilizzo della replica di tipo merge
Sottoscrizione delle pubblicazioni (SQL Server Compact)
Reinizializzazione di una sottoscrizione (SQL Server Compact)