Extraer datos del servidor e insertarlos en el cliente
El acceso a datos remotos se inicia a menudo extrayendo datos de un servidor de Microsoft SQL Server e insertándolos en una base de datos cliente de SQL Server 2005 Compact Edition (SQL Server Compact Edition). Cuando se extraen los datos de un servidor y se insertan en un cliente, SQL Server Compact Edition inicia la extracción. SQL Server Compact Edition extrae datos de una base de datos de SQL Server y los almacena en una tabla de una base de datos de SQL Server Compact Edition.
Para extraer datos del servidor, puede configurar RDA mediante programación en la aplicación. Cuando configure e inicie una operación de extracción con cualquiera de estas técnicas, tendrá que especificar lo siguiente:
- La base de datos de la que desea extraer los datos.
- La autenticación del servidor Web necesario para conectarse a un servidor Web.
- La autenticación de SQL Server utilizada.
- Las tablas que se copiarán y propagarán al cliente.
- Las opciones de extracción, incluidos el seguimiento y una tabla de errores.
Seguimiento
Una aplicación puede realizar un seguimiento de los cambios efectuados en una tabla de SQL Server Compact Edition estableciendo las opciones de seguimiento correspondientes. SQL Server Compact Edition realiza un seguimiento de todas las inserciones, actualizaciones y eliminaciones.
A continuación, las aplicaciones pueden llamar al método Push para propagar los cambios de vuelta en la tabla original de SQL Server.
Las operaciones de extracción e inserción cuyo seguimiento se ha realizado mediante el acceso a datos remoto (RDA) utilizan el control de simultaneidad optimista. SQL Server no mantiene bloqueados los registros extraídos. Cuando la aplicación llama a Push, los cambios realizados en la base de datos local de SQL Server Compact Edition se aplican sin condiciones a la base de datos de SQL Server. Esto puede ocasionar la pérdida de los cambios realizados por otros usuarios en la base de datos de SQL Server.
Debe usar los métodos Pull y Push con seguimiento cuando los registros que esté actualizando tengan particiones lógicas y no es probable que haya conflictos. Por ejemplo, puede utilizar los métodos Pull y Push con seguimiento en una aplicación de asistencia directa que realice un seguimiento de cada técnico con una lista única de llamadas de asistencia.
RDA_TRACKOPTION especifica si SQL Server Compact Edition debe realizar un seguimiento de los cambios realizados en la tabla extraída. Especifique TRACKINGON o TRACKINGON_INDEXES si desea actualizar la tabla extraída en el dispositivo basado en Windows Mobile y, a continuación, insertar los registros modificados en la tabla original de SQL Server. Cuando se especifica TRACKINGON, las restricciones PRIMARY KEY se crean en la tabla extraída. Cuando se especifica TRACKINGON_INDEXES, las restricciones PRIMARY KEY y los índices adicionales que existen en la tabla de servidores se crean en la tabla extraída. En ambos casos, SQL Server Compact Edition realizará un seguimiento de cada registro que se inserte, actualice o elimine en la tabla local.
[!NOTA] Los índices sólo se crean si se extraen las columnas que los componen. En la tabla extraída no se crea ninguna restricción de integridad referencial, ya que las tablas relacionadas pueden existir o no en la base de datos de SQL Server Compact Edition. Éstas deben agregarse de nuevo mediante código dentro de la aplicación.
Cuando la aplicación llama al método Push, SQL Server Compact Edition usa la información de seguimiento de los cambios para localizar los registros insertados, actualizados y eliminados en la tabla local de SQL Server Compact Edition y propagarlos de vuelta a la tabla de SQL Server.
Cuando RDA_TRACKOPTION se establece en TRACKINGON o TRACKINGON_INDEXES, se aplican las siguientes restricciones:
Si la instrucción SELECT devuelve un conjunto de registros no actualizable, se produce un error.
Debe definirse una clave principal en el conjunto de registros actualizable que devuelva la instrucción SELECT. La instrucción SELECT puede hacer referencia a una vista o un procedimiento almacenado, pero éstos sólo deben hacer referencia a una tabla y deben ser actualizables.
Cuando se especifica TRACKINGON_INDEXES, los índices que existen en la tabla de SQL Server y que son relevantes para las columnas especificadas en SQLSelectString se crean en la tabla local de SQL Server Compact Edition especificada en LocalTableName.
Vea también
Tareas
Cómo extraer datos (mediante programación)