Programar tareas comunes de sincronización de cliente y servidor

En los temas siguientes de esta sección se ofrece información básica, contenido de procedimientos y ejemplos de código completos para tareas de sincronización de cliente y de servidor comunes que pueden realizarse con Sync Services for ADO.NET. Antes de leer los otros temas, se recomienda leer primero el tema de procedimientos sobre el seguimiento de cambios en la base de datos servidor y leer después al menos uno de los temas referentes a la dirección de sincronización.

En esta sección

Aplicaciones de ejemplo en los temas prácticos

Cada tema práctico contiene por lo menos una aplicación de consola, escrita en C# y Visual Basic, que hace una demostración de características concretas de la API. Todas las aplicaciones incluyen el código para realizar una sincronización, efectuar cambios en el cliente y servidor y después realizar una nueva sincronización. Aunque mostrar únicamente ejemplos de código para una función o tarea concreta puede ser más rápido, es mucho más fácil entender el funcionamiento de Sync Services con una demostración de una función concreta en un contexto bastante completo.

Cada aplicación contiene las clases siguientes, así como otras clases pertinentes a las funciones que se describen:

  • Program. Esta clase configura la sincronización y llama a los métodos de la clase Utility. La clase Utility controla toda la funcionalidad que no está relacionada directamente con la sincronización, como conservar la información de las cadenas de conexión y efectuar cambios en las bases de datos cliente y servidor.

  • SampleSyncAgent. Esta clase se deriva de SyncAgent.

  • SampleServerSyncProvider. Esta clase se deriva de DbServerSyncProvider. En los ejemplos donde son pertinentes los comandos de proveedor de servidor, éstos se especifican manualmente. En otros casos, se utiliza la clase SqlSyncAdapterBuilder porque requiere menos código. Para obtener más información acerca de los comandos de proveedor de servidor, vea Cómo especificar una sincronización de instantáneas, de descarga, de carga y bidireccional.

  • SampleClientSyncProvider. Esta clase se deriva de SqlCeClientSyncProvider.

Todas las aplicaciones completas son de dos niveles, para evitar la necesidad de usar un servicio para ejecutar las aplicaciones. No obstante, el código está dividido en clases distintas, para que le resulte más fácil ver cómo se aplicaría el código a los escenarios n-tier. Para obtener más información acerca de las aplicaciones n-tier, vea Cómo configurar la sincronización n-tier.

El código de todas las aplicaciones se ha probado en Visual Studio 2008, SQL Server Compact 3.5 SP1 Service Pack 1, SQL Server 2005 Service Pack 2 y SQL Server 2008.

Para ejecutar cada aplicación

  1. Ejecute el script de Transact-SQL "Seguimiento de cambios personalizados en escenarios sin conexión" en Scripts de configuración para los temas "Cómo..." de Sync Services. Este script crea una base de datos, un conjunto de tablas y desencadenadores, y un conjunto de procedimientos almacenados. Para eliminar y reinsertar los datos de ejemplo, use el procedimiento almacenado de usp_InsertSampleData.

  2. Copie el código de la clase Utility desde Clase de utilidad para los temas "Cómo..." de Sync Services. Pegue el código en cada aplicación que desee ejecutar o bien cree una biblioteca DLL con el código y haga referencia a ella desde las aplicaciones.

  3. Agregue referencias a las DLL siguientes:

    • Microsoft.Synchronization.dll

    • Microsoft.Synchronization.Data.dll

    • Microsoft.Synchronization.Data.Server.dll

    • Microsoft.Synchronization.Data.SqlServerCe.dll

    • System.Data.SqlServerCe.dll

Vea también

Conceptos

Escenarios sin conexión (Sync Services)