Freigeben über


Vorgehensweise: Löschen eines Abonnements von SQL Server Compact Edition (programmgesteuert)

In diesem Thema erfahren Sie, wie ein Abonnement in einer Datenbank von Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) mithilfe der SqlCeReplication-Klasse gelöscht werden kann. Weitere Informationen zum Verwenden des SqlServerCe-Namespaces finden Sie in der Referenzdokumentation zum SqlServerCe-Namespace.

So löschen Sie ein Abonnement von SQL Server Compact Edition

  1. Initialisieren Sie ein SqlCeReplication-Objekt.

  2. Legen Sie die folgenden Eigenschaften des SqlCeReplication-Objekts fest:

    • SubscriberConnectionString
    • Subscriber
    • Publisher
    • Publication
    • PublisherDatabase
  3. Rufen Sie die DropSubscription-Methode auf, und übergeben Sie dabei DropOption. DropOption ermöglicht es Ihnen, die Datenbank zu behalten oder zu löschen. Wenn Sie DropOption mit DropDatabase angeben und die Datenbank mehr als ein Abonnement enthält, wird die Datenbank nicht gelöscht.

Beispiel

In diesem Beispiel wird gezeigt, wie ein Abonnement in der Datenbank MYDATABASE.SDF gelöscht wird. Nach dem Löschen des Abonnements wird die Datenbank gelöscht.

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

Siehe auch

Konzepte

Verwenden der Mergereplikation
Löschen eines Abonnements

Hilfe und Information

Informationsquellen für SQL Server Compact Edition