Erstellen eines Abonnements
Bevor Sie ein Abonnement erstellen können, müssen Sie die Microsoft SQL Server-Replikation konfigurieren, die SQL Server-Publikation erstellen und Microsoft Internetinformationsdienste (Internet Information Services, IIS) konfigurieren. Informationen zu diesem Prozess finden Sie unter Implementieren der Replikation (SQL Server Compact Edition) und Hilfe zum Assistenten zum Konfigurieren der Websynchronisierung.
Nachdem die Publikation erstellt und IIS ordnungsgemäß konfiguriert wurde, können Sie eines der folgenden Verfahren verwenden, um ein Abonnement für SQL Server 2005 Compact Edition (SQL Server Compact Edition) zu erstellen:
- Erstellen des Abonnements in SQL Server Management Studio.
Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Abonnements von SQL Server Compact Edition (SQL Server Management Studio). - Aufrufen der AddSubscription-Methode.
Weitere Informationen finden Sie unter Vorgehensweise: Erstellen eines Abonnements in SQL Server Compact Edition (programmgesteuert).
Aufrufen der AddSubscription-Methode
SQL Server Compact Edition-Anwendungen verwenden das Replication-Objekt, um programmgesteuert ein Abonnement zu erstellen und dieses Abonnement in eine SQL Server Compact Edition-Datenbank auf einem intelligenten Gerät von Microsoft zu downloaden. Dies erfolgt, indem die Anwendung das Replication-Objekt erstellt, die geeigneten Eigenschaften des Replication-Objekts festlegt und die AddSubscription-Methode aufruft. Anhand der Beispiele in diesem Thema wird gezeigt, wie hierbei vorzugehen ist.
Mehrere Abonnements und die AddSubscription-Methode
Da SQL Server Compact Edition die Synchronisierung einer einzelnen Datenbank mit mehreren Publikationen unterstützt, müssen Sie die Auswirkungen mehrerer Abonnements berücksichtigen, wenn Sie die AddSubscription-Methode verwenden.
Es gibt zwei Optionen, die verwendet werden, wenn die AddSubscription-Methode aufgerufen wird: CreateDatabase und ExistingDatabase. Die Option CreateDatabase ist nicht betroffen, wenn Sie mehrere Abonnements verwenden. Anders verhält es sich jedoch bei der Option ExistingDatabase. Wenn Sie ExistingDatabase verwenden, müssen Sie Werte für die Eigenschaften Publisher, Publication und PublisherDatabase angeben, bevor Sie die AddSubscription-Methode aufrufen.
Kopieren eines vorhandenen Abonnements
Sie können ein neues Abonnement erstellen, indem Sie ein vorhandenes Abonnement von einem intelligenten Gerät zu einem anderen kopieren. Auf diese Weise können Sie eine Anwendung für ein intelligentes Gerät problemlos auf vielen Geräten bereitstellen, wenn alle Abonnenten dieselbe Publikation verwenden.
Sie können das Erstabonnement auf einem intelligenten Gerät erstellen und die Anwendung dann bereitstellen, indem Sie die Anwendung und das Erstabonnement auf eine beliebige Anzahl von Geräten kopieren. Wenn die Anwendung erstmalig eine Synchronisierung vornimmt, erkennt SQL Server Compact Edition die Anwendung aufgrund des neuen Geräts und/oder der Änderung des physikalischen Ordnerpfads automatisch als neuen Abonnenten und erstellt ein neues Abonnement. Durch das Kopieren des Erstabonnements auf ein Gerät vermeiden Sie es, das Erstabonnement über das Netzwerk auf das Gerät zu downloaden.
![]() |
---|
SQL Server Compact Edition unterstützt externe Speichergeräte, z. B. Compact Flash-Speicher und -Laufwerke. Ein effizientes Verfahren zum Bereitstellen großer SQL Server Compact Edition-Datenbanken besteht darin, sie auf diesen Speichergeräten zu verteilen. Verglichen mit dem Arbeitsspeicher des intelligenten Geräts weisen diese Speichergeräte jedoch relativ lange Zugriffszeiten auf. Die Verwendung dieser Geräte kann sich auf die Leistung Ihrer Anwendung auswirken. |
Visual C++ für mobile Geräte
ISSCEMerge *pISSCEMerge = NULL;
ISSCEErrors *pISSCEErrors = NULL;
HRESULT hr;
BSTR bstr = NULL;
BOOL fInitialized = FALSE;
LONG lPubChanges;
LONG lPubConflicts;
LONG lSubChanges;
/* Create the Replication object. */
CoCreateInstance(CLSID_Replication, NULL, CLSCTX_INPROC_SERVER,
IID_ISSCEMerge, (LPVOID *) &pISSCEMerge);
/* Set Internet properties. */
bstr = SysAllocString
(L"https://www.adventure-works.com/sqlce/sqlcesa30.dll");
pISSCEMerge->put_InternetURL(bstr);
SysFreeString(bstr);
bstr = SysAllocString(L"MyInternetLogin");
pISSCEMerge->put_InternetLogin(bstr);
SysFreeString(bstr);
bstr = SysAllocString(L"<MyInternetPassword>");
pISSCEMerge->put_InternetPassword(bstr);
SysFreeString(bstr);
/* Set Publisher properties */
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);
pISSCEMerge->put_PublisherSecurityMode(NT_AUTHENTICATION);
/* Set Subscriber properties. */
bstr = SysAllocString(L"Data Source=\\ssce.sdf");
pISSCEMerge->put_SubscriberConnectionString(bstr);
SysFreeString(bstr);
bstr = SysAllocString(L"SQLCE Sub #1");
pISSCEMerge->put_Subscriber(bstr);
SysFreeString(bstr);
/* Create the new anonymous subscription. */
pISSCEMerge->AddSubscription(CREATE_DATABASE);
/* Perform the first synchronization to download the initial
replica. */
hr = pISSCEMerge->Initialize();
if (SUCCEEDED(hr))
{
fInitialized = TRUE;
hr = pISSCEMerge->Run();
}
if (SUCCEEDED(hr))
{
pISSCEMerge->get_PublisherChanges(&lPubChanges);
pISSCEMerge->get_PublisherConflicts(&lPubConflicts);
pISSCEMerge->get_SubscriberChanges(&lSubChanges);
}
else
{
if(SUCCEEDED(hr = pISSCEMerge->get_ErrorRecords(&pISSCEErrors)))
{
ShowErrors(pISSCEErrors);
pISSCEErrors->Release();
};
}
if (fInitialized)
{
(void)pISSCEMerge->Terminate();
Siehe auch
Konzepte
Unterstützen von mehreren Abonnements
Löschen eines Abonnements
Erneute Initialisierung eines Abonnements (SQL Server Compact Edition)