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 Edition) e Guida in linea della Configurazione guidata sincronizzazione Web.

Dopo la creazione della pubblicazione e la corretta configurazione di IIS, sarà possibile creare una sottoscrizione di SQL Server 2005 Compact Edition (SQL Server Compact Edition) in uno dei modi seguenti:

Chiamata del metodo AddSubscription

Le applicazioni SQL Server Compact Edition utilizzano l'oggetto Replication per creare una sottoscrizione a livello di programmazione e scaricare tale sottoscrizione in un database di SQL Server Compact Edition 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 Edition 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 Edition 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 Edition supporta periferiche di archiviazione esterne, incluse memorie e unità Compact Flash. Un modo efficace per distribuire database SQL Server Compact Edition di grandi dimensioni consiste nell'utilizzare queste periferiche di archiviazione, Tali periferiche 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/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();

   

Vedere anche

Concetti

Supporto di più sottoscrizioni
Eliminazione di una sottoscrizione
Reinizializzazione di una sottoscrizione (SQL Server Compact Edition)

Guida in linea e informazioni

Assistenza su SQL Server Compact Edition