Creazione di una sottoscrizione
Prima di creare una sottoscrizione, è necessario configurare la replica di Microsoft SQL Server, creare la pubblicazione di SQL Server e configurare Microsoft Internet Information Services (IIS). Per informazioni su questo processo, vedere Implementazione della replica (SQL Server Compact) e Guida della Configurazione guidata sincronizzazione Web.
Dopo la creazione della pubblicazione e la corretta configurazione di IIS, sarà possibile creare una sottoscrizione di SQL Server Compact 3.5 (SQL Server Compact 3.5) in uno dei modi seguenti:
- Creando la sottoscrizione in SQL Server Management Studio
Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione di SQL Server Compact (SQL Server Management Studio) - Chiamando il metodo AddSubscription
Per ulteriori informazioni, vedere Procedura: Creazione di una sottoscrizione (a livello di programmazione)
Chiamata del metodo AddSubscription
Le applicazioni SQL Server Compact 3.5 utilizzano l'oggetto Replication per creare una sottoscrizione a livello di programmazione e scaricare tale sottoscrizione in un database di SQL Server Compact 3.5 su uno smart device Microsoft. A tale scopo, l'applicazione crea l'oggetto Replication, imposta le proprietà dell'oggetto Replication appropriate e chiama il metodo AddSubscription. Gli esempi contenuti in questo argomento illustrano come eseguire questa procedura.
Più sottoscrizioni e metodo AddSubscription
SQL Server Compact 3.5 supporta la sincronizzazione di un unico database con più pubblicazioni, quindi è necessario considerare gli effetti di più sottoscrizioni quando si utilizza il metodo AddSubscription.
In occasione della chiamata del metodo AddSubscription, sono disponibili due opzioni: CreateDatabase e ExistingDatabase. L'opzione CreateDatabase non viene influenzata dall'utilizzo di più sottoscrizioni, mentre l'opzione ExistingDatabase viene coinvolta. Quando si utilizza ExistingDatabase, è necessario specificare i valori per le proprietà Publisher, Publication e PublisherDatabase prima di chiamare il metodo AddSubscription.
Copia di una sottoscrizione esistente
È possibile creare una nuova sottoscrizione copiando una sottoscrizione esistente da uno smart device a un altro. Questa procedura semplifica la distribuzione di un'applicazione per smart device su più dispositivi quando tutti i Sottoscrittori utilizzano la stessa pubblicazione.
È possibile creare la sottoscrizione iniziale su uno smart device e quindi distribuire l'applicazione copiando l'applicazione e la sottoscrizione iniziale su tutti i dispositivi desiderati. Quando viene eseguita la prima sincronizzazione dell'applicazione, SQL Server Compact 3.5 la riconosce automaticamente come nuovo Sottoscrittore, a causa della modifica di percorso del nuovo dispositivo e/o della cartella fisica, e crea una nuova sottoscrizione. Copiando la sottoscrizione iniziale su un dispositivo, si evita di scaricare la sottoscrizione iniziale sul dispositivo in rete.
Nota
SQL Server Compact 3.5 supporta dispositivi di archiviazione esterni, incluse memorie e unità Compact Flash. Un modo efficace per distribuire database SQL Server Compact 3.5 di grandi dimensioni consiste nell'utilizzare questi dispositivi di archiviazione, Tali dispositivi di archiviazione, tuttavia, presentano tempi di accesso relativamente lunghi rispetto alla RAM di uno smart device. L'utilizzo di questi dispositivi può influire sulle prestazioni dell'applicazione.
Visual C++ for Devices
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/sqlcesa35.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();
}
Nota
Per informazioni sulle proprietà della stringa di connessione supportate, vedere Proprietà LocalConnectionString (RDA).
Vedere anche
Riferimento
Creazione guidata nuova sottoscrizione
Concetti
Supporto di più sottoscrizioni
Eliminazione di una sottoscrizione
Reinizializzazione di una sottoscrizione (SQL Server Compact)