Condividi tramite


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:

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)

Guida e informazioni

Assistenza (SQL Server Compact 3.5 Service Pack 1)