Partager via


Procédure : supprimer un abonnement SQL Server Compact Edition (par programme)

Dans cette rubrique, vous allez apprendre à supprimer un abonnement d'une base de données Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) à l'aide de la classe SqlCeReplication. Pour plus d'informations sur l'utilisation de l'espace de noms SqlServerCe, consultez la documentation de référence sur l'espace de noms SqlServerCe.

Pour supprimer un abonnement SQL Server Compact Edition

  1. Initialisez un objet SqlCeReplication.

  2. Définissez les propriétés suivantes de l'objet SqlCeReplication :

    • SubscriberConnectionString
    • Subscriber
    • Publisher
    • Publication
    • PublisherDatabase
  3. Appelez la méthode DropSubscription en passant le mot clé DropOption. Le mot clé DropOption vous permet de conserver la base de données ou de la supprimer. Si vous spécifiez un mot-clé DropOption de DropDatabase et que la base de données contient plusieurs abonnements, celle-ci ne sera pas supprimée.

Exemple

Cet exemple illustre comment supprimer un abonnement d'une base de données appelée MyDatabase.sdf. Une fois l'abonnement supprimé, la base de données est supprimée.

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

Voir aussi

Concepts

Utilisation de la réplication de fusion
Suppression d'un abonnement

Aide et information

Assistance sur SQL Server Compact Edition