Compartir a través de


Limitaciones de RDA

El acceso a datos remotos (RDA) de Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) tiene limitaciones en las áreas siguientes:

  • Distinción de mayúsculas y minúsculas. Las bases de datos de SQL Server Compact Edition no distinguen entre mayúsculas y minúsculas.
  • ROWGUID. Cuando se utiliza RDA para extraer datos de una tabla de SQL Server que también participa en la réplica en el servidor, se debe excluir la columna del sistema con el atributo ROWGUIDCOL. De forma predeterminada, el nombre de esta columna es RowGuid.
    Por ejemplo, para el parámetro SQLSelectString en el método Pull, use SELECT CompanyName, ContactName FROM Customers en lugar de SELECT * FROM Customers.
  • Desencadenadores. SQL Server Compact Edition no admite desencadenadores. No obstante, los desencadenadores pueden residir en la tabla de SQL Server de la que el acceso a datos remotos (RDA) extrae los datos. Para las tablas con seguimiento, los desencadenadores de SQL Server se pueden ejecutar cuando los cambios se vuelven a insertar en SQL Server. Es posible que tenga que especificar SET NOCOUNT ON en la lógica del desencadenador. Esto indica que no se debe devolver el número de filas afectadas, porque si la respuesta es que no hay ninguna fila afectada, se produce un error para el método Push de RDA.
  • Tablas y columnas. Para las tablas con seguimiento, el número de columnas disponibles es 1.017 (1.024 menos siete columnas del sistema). Estas siete columnas del sistema están protegidas y se utilizan para las tablas de acceso a datos remotos (RDA) con seguimiento.
  • Columnas calculadas. El método Pull presenta errores si el conjunto de registros contiene columnas calculadas.
  • Columnas IDENTITY. Si utiliza columnas IDENTITY para generar unicidad, RDA no administra dinámicamente las columnas IDENTITY. Los valores iniciales predeterminados de una columna IDENTITY en el dispositivo son siempre seed=1, increment=1. SQL Server Compact Edition permite modificar los valores SEED e INCREMENT de identidad en la tabla de la base de datos local usando la instrucción ALTER TABLE. De este modo se puede administrar manualmente el intervalo de identidad para cada dispositivo. Tendrá que determinar el máximo valor IDENTITY y ajustar el valor SEED antes de intentar insertar en la tabla. Por ejemplo, si se determina que el máximo valor IDENTITY es 99, use ALTER TABLE Orders ALTER COLUMN OrderId IDENTITY (100,1) para restablecer el siguiente valor IDENTITY a 100.

Limitaciones de esquema

SQL Server Compact Edition puede realizar un seguimiento de los cambios en la tabla resultante de SQL Server Compact Edition. Especificando la opción de seguimiento apropiada, SQL Server Compact Edition realiza un seguimiento de todas las inserciones, actualizaciones y eliminaciones realizadas en la tabla local de SQL Server Compact Edition. La aplicación puede entonces llamar al método Push para propagar estos cambios de vuelta a la tabla de SQL Server original.

Los métodos Pull y Push con seguimiento de RDA utilizan el control de simultaneidad optimista. SQL Server no mantiene un bloqueo sobre 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 podría provocar la pérdida de los cambios efectuados por otros usuarios en la base de datos de SQL Server.

Use los métodos Pull y Push con seguimiento cuando los registros que esté actualizando tengan particiones lógicas y los conflictos no sean muy probables. 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.

Puede realizar los siguientes cambios de esquema en una tabla de SQL Server Compact Edition creada con un método Pull con seguimiento:

  • Cambiar la inicialización o el incremento de la columna de identidad.
  • Agregar o eliminar restricciones DEFAULT.
  • Agregar o eliminar claves externas.
  • Agregar o eliminar índices.
  • Eliminar la tabla.

No se puede realizar ninguno de los siguientes cambios de esquema en una tabla de SQL Server mientras se esté procesando un método Pull con seguimiento:

  • Agregar, eliminar o cambiar el nombre de columnas.
  • Cambiar el nombre de la tabla.
  • Eliminar una clave principal.
  • Cambiar una definición de tipo de datos.

Para realizar dichos cambios de esquema en una tabla de SQL Server, debe eliminar la tabla de SQL Server Compact Edition y volver a extraer la tabla de SQL Server cambiada.

Vea también

Ayuda e información

Obtener ayuda sobre SQL Server Compact Edition