Compartir a través de


Extracción de datos del servidor para 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 Compact 3.5. Cuando se extraen los datos de un servidor y se insertan en un cliente, SQL Server Compact 3.5 inicia la extracción. SQL Server Compact 3.5 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 3.5.

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 3.5 estableciendo las opciones de seguimiento correspondientes. SQL Server Compact 3.5 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 3.5 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 3.5 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 3.5 realizará un seguimiento de cada registro que se inserte, actualice o elimine en la tabla local.

Nota

Los índices solo 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 3.5. É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 3.5 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 3.5 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 devuelto por la instrucción SELECT. La instrucción SELECT puede hacer referencia a una vista o a un procedimiento almacenado, pero esta vista o este procedimiento almacenado debe hacer referencia solo a una tabla y debe ser actualizable.

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 3.5 especificada en LocalTableName.

Vea también

Otros recursos

Cómo extraer datos con el objeto RDA (mediante programación)