Procédure : supprimer un abonnement (par programme)
Dans cette rubrique, vous allez apprendre à supprimer un abonnement d'une base de données Microsoft SQL Server Compact 3.5 à 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.
Procédures pour SQL Server Compact 3.5
Pour supprimer un abonnement
Initialisez un objet SqlCeReplication.
Définissez les propriétés suivantes de l'objet SqlCeReplication :
SubscriberConnectionString
Subscriber
Publisher
Publication
PublisherDatabase
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 sur une base de données nommé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));