Compartir a través de


Crear una suscripción

Antes de crear una suscripción, es necesario configurar la réplica de Microsoft SQL Server, crear la publicación de SQL Server y configurar los Servicios de Internet Information Server (IIS) de Microsoft. Para obtener información sobre este proceso, vea Implementar la réplica (SQL Server Compact Edition) y Ayuda del Asistente para configurar la sincronización Web.

Una vez que se haya creado la publicación y que IIS se haya configurado correctamente, puede crear una suscripción de SQL Server 2005 Compact Edition (SQL Server Compact Edition) utilizando cualquiera de estos métodos:

Llamar al método AddSubscription

Las aplicaciones de SQL Server Compact Edition utilizan el objeto Replication para crear mediante programación una suscripción y descargarla en una base de datos de SQL Server Compact Edition de un dispositivo inteligente de Microsoft. Para ello, la aplicación crea el objeto Replication estableciendo correctamente las propiedades del objeto Replication y llamando al método AddSubscription. En los ejemplos de este tema se muestra cómo realizarlo.

Varias suscripciones y el método AddSubscription

SQL Server Compact Edition es compatible con la sincronización de una sola base de datos con varias publicaciones, por lo que debe tener presentes las consecuencias de tener varias suscripciones cuando utilice el método AddSubscription.

El método AddSubscription se puede llamar de dos formas: CreateDatabase y ExistingDatabase. La opción CreateDatabase no se ve afectada al utilizar varias suscripciones, pero no ocurre lo mismo con la opción ExistingDatabase. Cuando utilice ExistingDatabase, debe proporcionar valores para las propiedades Publisher, Publication y PublisherDatabase antes de llamar al método AddSubscription.

Copiar una suscripción existente

Puede crear una nueva suscripción copiando una existente de un dispositivo inteligente en otro. Esto facilita la implementación de un dispositivo inteligente en muchos dispositivos cuando todos los suscriptores utilizan la misma publicación.

Es posible crear la suscripción inicial en un dispositivo inteligente y, a continuación, implementar la aplicación copiando dicha aplicación y la suscripción inicial en tantos dispositivos como desee. Cuando la aplicación se sincroniza por primera vez, SQL Server Compact Edition la reconoce automáticamente como un nuevo suscriptor debido al cambio de ubicación del nuevo dispositivo o carpeta física, y crea una nueva suscripción. El hecho de copiar la suscripción inicial en un dispositivo le evita descargar la suscripción inicial en el dispositivo a través de la red.

[!NOTA] SQL Server Compact Edition es compatible con dispositivos de almacenamiento externos, incluidas las unidades y la memoria Compact Flash. Una forma eficaz de implementar bases de datos de gran tamaño de SQL Server Compact Edition es distribuirlas en estos dispositivos de almacenamiento. Sin embargo, los tiempos de acceso de estos dispositivos son relativamente largos en comparación con la RAM del dispositivo inteligente. El uso de estos dispositivos puede afectar al rendimiento de la aplicación.

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();

   

Vea también

Conceptos

Compatibilidad con varias suscripciones
Quitar una suscripción
Reinicializar una suscripción (SQL Server Compact Edition)

Ayuda e información

Obtener ayuda sobre SQL Server Compact Edition