Como reinicializar uma assinatura (programaticamente)
Neste tópico, você aprenderá como reinicializar uma assinatura no Microsoft SQL Server Compact 3.5 através da classe SqlCeReplication. Para obter mais informações sobre como usar o namespace SqlServerCe, consulte a documentação de referência de namespaces do SqlServerCe.
Para reinicializar uma assinatura
Inicialize um objeto SqlCeReplication.
SqlCeReplication repl = new SqlCeReplication();
Defina as propriedades de conexão. Essas propriedades especificam o nome e o local da publicação que você está assinando, o nome e o local do banco de dados local do SQL Server Compact 3.5, e o local do Agente de Servidor do 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";
Chame o método ReinitializeSubscription para marcar a assinatura para reinicialização. Se você passar true para o método ReinitializeSubscription, as alterações no Assinante serão carregadas no Editor antes da reinicialização. Se você passar false, todas as alterações no Assinante serão descartadas durante a reinicialização.
repl.ReinitializeSubscription(true);
Para preencher a assinatura, chame o método Synchronize depois de chamar o método ReinitializeSubscription.
repl.Synchronize();
Exemplo
Este exemplo mostra como reinicializar uma assinatura do SQL Server Compact 3.5. Neste exemplo, todas as alterações do Assinante serão carregadas primeiro no Editor, a assinatura será reinicializada e depois os dados serão sincronizados.
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
Consulte também
Outros recursos
Usando a replicação de mesclagem