Cómo reinicializar una suscripción de SQL Server Compact Edition (mediante programación)

En este tema se describe cómo reinicializar una suscripción en Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) mediante la clase SqlCeReplication. Para obtener más información sobre cómo usar el espacio de nombres SqlServerCe, consulte la documentación de referencia sobre el espacio de nombres SqlServerCe.

Para reinicializar una suscripción

  1. Inicialice un objeto SqlCeReplication.

    SqlCeReplication repl = new SqlCeReplication();
    
  2. Establezca las propiedades de conexión. Estas propiedades especifican el nombre y la ubicación de la publicación a la que se está suscribiendo, el nombre y la ubicación de la base de datos local de SQL Server Compact Edition y la ubicación del Agente de servidor de 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";
    
  3. Llame al método ReinitializeSubscription para marcar la suscripción para su reinicialización. Si pasa true al método ReinitializeSubscription, los cambios realizados en el suscriptor se cargarán en el publicador antes de la reinicialización. Si pasa false, todos los cambios realizados en el suscriptor se rechazarán durante la reinicialización.

    repl.ReinitializeSubscription(true);
    
  4. Para volver a rellenar la suscripción, deberá llamar al método Synchronize después de llamar al método ReinitializeSubscription.

    repl.Synchronize();
    

Ejemplo

En este ejemplo se muestra cómo reinicializar una suscripción de SQL Server Compact Edition. En este ejemplo, los cambios realizados en el suscriptor se cargan primero en el publicador, se reinicializa la suscripción y, a continuación, se sincronizan los datos.

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

Vea también

Conceptos

Usar la réplica de mezcla
Suscribirse a publicaciones (SQL Server Compact Edition)
Reinicializar una suscripción (SQL Server Compact Edition)

Ayuda e información

Obtener ayuda sobre SQL Server Compact Edition