Share via


Cómo quitar una suscripción (mediante programación)

En este tema se describe cómo quitar una suscripción de una base de datos de Microsoft SQL Server Compact 3.5 mediante la clase SqlCeReplication. Para obtener más información sobre cómo usar el espacio de nombres SqlServerCe, vea la documentación de referencia sobre el espacio de nombres SqlServerCe.

Procedimientos para SQL Server Compact 3.5

Para quitar una suscripción

  1. Inicialice un objeto SqlCeReplication.

  2. Establezca las siguientes propiedades del objeto SqlCeReplication:

    • SubscriberConnectionString

    • Subscriber

    • Publisher

    • Publication

    • PublisherDatabase

  3. Llame al método DropSubscription, pasando DropOption. DropOption permite mantener la base de datos o eliminarla. Si especifica una DropOption de DropDatabase y la base de datos contiene más de una suscripción, no se eliminará la base de datos.

Ejemplo

En este ejemplo se muestra cómo quitar una suscripción de una base de datos denominada MyDatabase.sdf. Una vez quitada la suscripción, se elimina la base de datos.

        SqlCeReplication repl = null;
        try 
    {
            // Set the Replication object properties.
            repl = new SqlCeReplication();
            repl.SubscriberConnectionString = 
  @"Data Source='ssce.sdf'";
            repl.Publisher = @"servername";
            repl.PublisherDatabase = @"SQLMobile";
            repl.Publication = @"SQLMobile";

            // Drop the subscription and delete the database.
            repl.DropSubscription(DropOption.DropDatabase);
        }
        catch(SqlCeException ex)
   {
            // Use your own error handling routine to show error information.
            // ShowError.ShowErrors(ex);
        }
        finally 
        {
            // Dispose of the Replication object.
            repl.Dispose();
        }
      Dim repl As SqlCeReplication = Nothing
      Try
         ' Set the Replication object properties.
         repl = New SqlCeReplication()
         repl.SubscriberConnectionString = "Data Source='ssce.sdf'"
         repl.Publisher = "servername"
         repl.PublisherDatabase = "SQLMobile"
         repl.Publication = "SQLMobile"

         ' Drop the subscription and delete the database.
         repl.DropSubscription(DropOption.DropDatabase)
      
      Catch ex As SqlCeException
      ' Use your own error handling routine to show error information.
      ' ShowErrors(ex)
      
      Finally
         ' Dispose of the Replication object.
         repl.Dispose()
      End Try
   ISSCEMerge      *pISSCEMerge = NULL;
   BSTR            bstr = NULL;

   /* Create the Replication object. */
   CoCreateInstance(CLSID_Replication, NULL, CLSCTX_INPROC_SERVER,
      IID_ISSCEMerge, (LPVOID *) &pISSCEMerge);
   
   /* Set Subscriber properties. */
   bstr = SysAllocString(L"data source=\\Ssce.sdf");
   pISSCEMerge->put_SubscriberConnectionString(bstr);
   SysFreeString(bstr);

   bstr = SysAllocString(L"SamplePublisher");
   pISSCEMerge->put_Publisher(bstr);
   SysFreeString(bstr);

   bstr = SysAllocString(L"AdventureWorks_SQLCE");
   pISSCEMerge->put_PublisherDatabase(bstr);
   SysFreeString(bstr);

   bstr = SysAllocString(L"SQLCEReplDemo");
   pISSCEMerge->put_Publication(bstr);
   SysFreeString(bstr);

   /* Drop the subscription and delete the database. */
   pISSCEMerge->DropSubscription(DROP_DATABASE));

Vea también

Otros recursos

Usar la replicación de mezcla

Quitar una suscripción