Compartilhar via


Como reinicializar uma assinatura (programaticamente)

Neste tópico, você aprenderá como reinicializar uma assinatura no Microsoft SQL Server Compact 3.5 (SQL Server Compact 3.5) usando a 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

  1. Inicialize um objeto SqlCeReplication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. 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";
    
  3. 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 Publicador antes da reinicialização. Se você passar false, todas as alterações no Assinante serão descartadas durante a reinicialização.

    repl.ReinitializeSubscription(true);
    
  4. 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 Publicador, 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
Assinando publicações (SQL Server Compact)
Reinicializando uma assinatura (SQL Server Compact)

Ajuda e informações

Obtendo assistência (SQL Server Compact 3.5 Service Pack 1)