Cómo: Configurar la sincronización de datos para usar el seguimiento de cambios de SQL Server
Actualización: Julio de 2008
En Visual Studio 2008 SP1, se ha agregado compatibilidad para la característica de seguimiento de cambios de SQL Server 2008. Se ha agregado la capacidad de habilitar el seguimiento de cambios de SQL Server durante la configuración de servicios de sincronización al cuadro de diálogo Configurar sincronización de datos además del Asistente para la configuración de orígenes de datos.
Nota: |
---|
La opción para habilitar el seguimiento de cambios de SQL Server sólo está disponible cuando la conexión al servidor de bases de datos remoto está configurada para conectarse a una base de datos de SQL Server 2008. |
Habilitación del seguimiento de cambios de SQL Server mediante el cuadro de diálogo Configurar sincronización de datos
Los procedimientos siguientes proporcionan los pasos que debe seguir para configurar la sincronización de datos y habilitar el seguimiento de cambios de SQL Server al configurar los servicios de sincronización mediante el cuadro de diálogo Configurar sincronización de datos. Para obtener un ejemplo que utiliza datos reales y configura la sincronización mediante el cuadro de diálogo Configurar sincronización de datos, vea Tutorial: Crear una aplicación que se conecta ocasionalmente.
Nota: |
---|
Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio. |
Para configurar la sincronización de datos mediante el cuadro de diálogo Configurar sincronización de datos
En el menú Proyecto, haga clic en Agregar nuevo elemento.
Haga clic en la plantilla Caché de base de datos local.
Proporcione un nombre alternativo o mantenga el nombre predeterminado de LocalDataCache1.sync.
Haga clic en Add.
El archivo .sync se agrega al proyecto y se abre el cuadro de diálogo Configurar sincronización de datos.
Establezca la Conexión de servidor con la base de datos remota de SQL Server 2008 a la que desea conectarse.
Establezca la Conexión de cliente con la base de datos de SQL Server Compact 3.5 local que almacenará sus datos localmente. Si no dispone de una base de datos local, puede dejar la configuración predeterminada de DatabaseName.sdf (nuevo) para crear una nueva base de datos en el proyecto. El nombre de la nueva base de datos está basado en el nombre de la base de datos del servidor.
Nota: De forma predeterminada, el botón Aceptar se encuentra deshabilitado y se habilita después de agregar una tabla al área Tablas en caché.
Seleccione Usar seguimiento de cambios de SQL Server. De forma predeterminada, esta opción está seleccionada cuando la Conexión de servidor está establecida en una base de datos de SQL Server 2008.
Haga clic en Agregar para abrir el cuadro de diálogo Configurar tablas para usarlas sin conexión.
Seleccione las tablas que desea agregar a la caché de base de datos local y configure el modo de sincronización (los datos que se descargan al sincronizar):
Datos para descargar:
Cambios nuevos e incrementales después de la primera sincronización
Esta opción de configuración permite recuperar los registros del servidor que se han modificado desde la última vez que se sincronizaron los datos. La primera vez que se utiliza la sincronización, se descargará la tabla completa.
Toda la tabla cada vez
Este valor reemplaza la tabla local por la versión que está actualmente en el servidor.
Nota: Establezca el modo de sincronización para cada tabla que esté configurando y que vaya a utilizar sin conexión. Las opciones deshabilitadas adicionales solo están disponibles cuando el seguimiento de cambios de SQL Server no está habilitado.
Haga clic en Aceptar.
Haga clic en Mostrar ejemplo de código para abrir el cuadro de diálogo Ejemplo de código, que proporciona un ejemplo de código que inicia el proceso de sincronización. Puede copiar este código en el Portapapeles y, a continuación, pegarlo en su programa.
Opcionalmente, establezca las opciones Avanzadas.
Las opciones Avanzadas del cuadro de diálogo Configurar sincronización de datos proporcionan valores que permiten controlar si se sincronizan las tablas independientemente o en una única transacción. Las opciones también permiten separar el código para aplicaciones con n niveles.
Sincronizar tablas en una sola transacción. De forma predeterminada, esta opción aparece desactivada y todas las tablas se sincronizan individualmente. Si se encuentran errores, solo se revierten los cambios para las tablas que presentan errores. Si selecciona esta opción, todas las tablas se sincronizan en una única transacción. Si se encuentran errores, se revierten todos los cambios para todas las tablas.
Crear componentes de sincronización. De forma predeterminada, se generan componentes de sincronización para el cliente y el servidor. Puede establecer esta opción en Sólo cliente o Sólo servidor para satisfacer los requisitos de su aplicación.
Ubicación del proyecto de servidor. De forma predeterminada, los componentes de sincronización para el servidor se generarán en el proyecto actual. Establezca esta opción para generar componentes de sincronización para el servidor en cualquier proyecto de Visual Basic o Visual C# en la solución.
Ubicación del proyecto de cliente. De forma predeterminada, los componentes de sincronización para el cliente se generarán en el proyecto actual. Establezca esta opción para generar componentes de sincronización para el cliente en cualquier proyecto de Visual Basic o Visual C# en la solución.
Haga clic en Aceptar.
Si el modo de sincronización de una de las tablas almacenadas en la memoria caché local está establecido en Cambios nuevos e incrementales después de la primera sincronización, se requiere una actualización de la base de datos de SQL Server y se abre el cuadro de diálogo Generar scripts SQL. De forma predeterminada, ambas opciones están seleccionadas en el cuadro de diálogo.
Actualice el servidor con los cambios incrementales. Seleccione esta opción para que el servidor se actualice automáticamente y la sincronización incremental pueda realizarse inmediatamente después de que se cierre este cuadro de diálogo.
Guarde los scripts SQL en el proyecto para su uso posterior. Seleccione esta opción para agregar al proyecto los scripts SQL generados de modo que se puedan ejecutar más adelante en la base de datos de SQL Server. También se generan y se agregan al proyecto scripts undo.
Haga clic en Aceptar.
Nota: El seguimiento de cambios de SQL Server no estará habilitado hasta que se actualice el servidor para habilitar el seguimiento de cambios.
Después de hacer clic en Aceptar, se abre el Asistente para la configuración de orígenes de datos en la página Elija los objetos de base de datos. (El Asistente para la configuración de orígenes de datos se abre automáticamente cada vez que un archivo de base de datos local se agrega a un proyecto.)
Seleccione las tablas para agregar al conjunto de datos con tipo.
Haga clic en Finalizar.
Después de configurar la sincronización de datos mediante el cuadro de diálogo Configurar sincronización de datos, deberá agregar código a la aplicación para iniciar la sincronización.
Nota: |
---|
Al sincronizar los datos, se actualiza la base de datos local, no la tabla del conjunto de datos o cualquier otro objeto de la aplicación. No olvide volver a cargar el origen de datos de la aplicación con los datos actualizados de la base de datos local. Por ejemplo, realice una llamada al método TableAdapter.Fill para cargar la tabla de datos del conjunto de datos con los datos actualizados de la base de datos local. |
Para agregar código a fin de iniciar la sincronización
Si copió el código proporcionado en el cuadro de diálogo Ejemplo de código de la sección anterior, puede pegarlo simplemente en su aplicación. De lo contrario, puede insertar el siguiente código en cualquier parte de su aplicación donde desee iniciar el proceso de sincronización:
' Call SyncAgent.Synchronize() to initiate the synchronization process. ' Synchronization only updates the local database, not your project's data source. Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent() Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize() ' Add code here to refill your application's data source ' with the updated data from the local database.
// Call SyncAgent.Synchronize() to initiate the synchronization process. // Synchronization only updates the local database, not your project's data source. LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent(); Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize(); // Add code to refill your application's data source // with the updated data from the local database.
Habilitación del seguimiento de cambios de SQL Server mediante el Asistente para la configuración de orígenes de datos
Los procedimientos siguientes proporcionan los pasos que se deben seguir para configurar la sincronización de datos y habilitar el seguimiento de cambios de SQL Server al configurar un conjunto de datos con tipo mediante el Asistente para la configuración de orígenes de datos.
Para obtener un ejemplo que utiliza datos reales y muestra cómo configurar la sincronización mientras se crea un conjunto de datos con tipo mediante el Asistente para la configuración de orígenes de datos, vea Tutorial: Crear una aplicación conectada ocasionalmente con el Asistente para la configuración de orígenes de datos.
Para configurar la sincronización de datos a fin de utilizar el seguimiento de cambios de SQL Server mediante el Asistente para la configuración de orígenes de datos
En el menú Datos, haga clic en Mostrar orígenes de datos.
En la ventana Orígenes de datos, haga clic en Agregar nuevo origen de datos para abrir el Asistente para la configuración de orígenes de datos.
Deje el valor predeterminado de Base de datos seleccionado en la página Elija un tipo de origen de datos y haga clic en Siguiente.
En la página Elegir la conexión de datos, siga uno de estos procedimientos:
Si en la lista desplegable está disponible una conexión de datos a la versión de SQL Server 2008 de la base de datos que desea, selecciónela.
O bien
Seleccione Nueva conexión para abrir el cuadro de diálogo Elegir origen de datos o Agregar/Modificar conexión y cree una nueva conexión a una base de datos SQL Server 2008. Para obtener más información, vea Agregar/Modificar conexión (Cuadro de diálogo, General).
Si la base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y, a continuación, haga clic en Siguiente.
Haga clic en Siguiente en la página Guardar cadena de conexión en el archivo de configuración de la aplicación.
Expanda el nodo Tablas en la página Elija los objetos de base de datos.
Seleccione las tablas que desea agregar a la caché de base de datos local.
Seleccione Habilitar almacenamiento en caché de la base de datos local.
Haga clic en Siguiente en la página Elija los objetos de base de datos.
Seleccione las tablas que desea almacenar en la memoria caché en la página Elegir tablas para almacenar en caché.
Establezca el Modo de sincronización.
Cambios nuevos e incrementales después de la primera sincronización
Esta opción de configuración permite recuperar los registros del servidor que se han modificado desde la última vez que se sincronizaron los datos. La primera vez que se utiliza la sincronización, se descarga la tabla completa.
Toda la tabla cada vez
Este valor reemplaza la tabla local por la versión que está actualmente en el servidor.
Seleccione Usar seguimiento de cambios de SQL Server. De forma predeterminada, esta opción está seleccionada cuando la Conexión de servidor está establecida en una base de datos de SQL Server 2008.
Haga clic en Finalizar.
Si el modo de sincronización de una de las tablas almacenadas en la memoria caché local está establecido en Cambios nuevos e incrementales después de la primera sincronización, se requiere una actualización de la base de datos de SQL Server y se abre el cuadro de diálogo Generar scripts SQL. De forma predeterminada, ambas opciones están seleccionadas en el cuadro de diálogo.
Actualice el servidor con los cambios incrementales. Seleccione esta opción para que el servidor se actualice automáticamente y la sincronización incremental pueda realizarse inmediatamente después de que se cierre este cuadro de diálogo.
Guarde los scripts SQL en el proyecto para su uso posterior. Seleccione esta opción para agregar al proyecto los scripts SQL generados de modo que se puedan ejecutar más adelante en la base de datos de SQL Server. También se generan y se agregan al proyecto scripts undo.
Haga clic en Aceptar.
Nota: El seguimiento de cambios de SQL Server no estará habilitado hasta que se actualice el servidor para habilitar el seguimiento de cambios.
Tras completar el Asistente para la configuración de orígenes de datos, tiene que agregar el código a la aplicación para iniciar la sincronización.
Nota: |
---|
Al sincronizar los datos, se actualiza la base de datos local, no la tabla del conjunto de datos o cualquier otro objeto de la aplicación. No olvide volver a cargar el origen de datos de la aplicación con los datos actualizados de la base de datos local. Por ejemplo, realice una llamada al método TableAdapter.Fill para cargar la tabla de datos del conjunto de datos con los datos actualizados de la base de datos local. |
Para agregar código a fin de iniciar la sincronización
Inserte el siguiente código en cualquier parte de su aplicación donde desee iniciar el proceso de sincronización:
' Call SyncAgent.Synchronize() to initiate the synchronization process. ' Synchronization only updates the local database, not your project's data source. Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent() Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize() ' Add code here to refill your application's data source ' with the updated data from the local database.
// Call SyncAgent.Synchronize() to initiate the synchronization process. // Synchronization only updates the local database, not your project's data source. LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent(); Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize(); // Add code to refill your application's data source // with the updated data from the local database.
Vea también
Tareas
Tutorial: Crear una aplicación que se conecta ocasionalmente
Tutorial: Implementar una aplicación cliente conectada ocasionalmente con la base de datos local
Ejemplo Occasionally Connected Data
Conceptos
Información general sobre las aplicaciones conectadas ocasionalmente
Otros recursos
Aplicaciones conectadas ocasionalmente
Historial de cambios
Fecha |
Historial |
Motivo |
---|---|---|
Julio de 2008 |
Se ha agregado un tema. |
Cambio de características de SP1. |