Condividi tramite


Procedura: Rimozione di una sottoscrizione (a livello di programmazione)

In questo argomento viene descritto come eliminare 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.

Procedure per SQL Server Compact 3.5

Per eliminare una sottoscrizione

  1. Inizializzare un oggetto SqlCeReplication.

  2. Impostare le proprietà seguenti dell'oggetto SqlCeReplication:

    • SubscriberConnectionString
    • Subscriber
    • Publisher
    • Publication
    • PublisherDatabase
  3. Chiamare il metodo DropSubscription passando DropOption. DropOption consente di mantenere o eliminare il database. Se si imposta DropOption su DropDatabase e il database contiene più di una sottoscrizione, il database non verrà eliminato.

Esempio

Nell'esempio seguente viene illustrato come eliminare una sottoscrizione su un database denominato MyDatabase.sdf. Dopo aver eliminato la sottoscrizione, verrà eliminato anche il database.

        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));

Vedere anche

Altre risorse

Utilizzo della replica di tipo merge
Eliminazione di una sottoscrizione

Guida e informazioni

Assistenza (SQL Server Compact 3.5 Service Pack 1)