Compartir a través de


Enumeración CONSTRAINT_CONFLICT_REASON

Representa los motivos por los que se puede producir un conflicto de restricción.

typedef enum
{
  CCR_OTHER,
  CCR_COLLISION,
  CCR_NOPARENT,
  CCR_IDENTITY
} CONSTRAINT_CONFLICT_REASON;

Miembros

Término

Definición

CCR_OTHER

El elemento o la unidad de cambio infringe alguna otra restricción de la réplica de destino. El proveedor puede especificar opcionalmente el identificador del elemento en conflicto como identificador de elemento en conflicto.

CCR_COLLISION

El elemento no puede guardarse porque está en conflicto con otro elemento en el almacén, como por ejemplo un elemento que tiene el mismo nombre que un elemento existente. El proveedor debe especificar el identificador del elemento de destino como identificador de elemento en conflicto.

CCR_NOPARENT

El elemento no se puede guardar en el almacén de datos jerárquico porque es preciso que el elemento disponga de un elemento primario que no existe en el almacén. El proveedor puede especificar opcionalmente el identificador del elemento primario perdido como identificador de elemento en conflicto.

CCR_IDENTITY

La réplica de origen y la réplica de destino discrepan sobre la identidad de un elemento. Por ejemplo, la réplica X resuelve un conflicto de colisión entre los elementos con identificadores id1 e id2, para lo cual combina los elementos y asigna id1 al elemento combinado. La réplica Y resuelve un conflicto de colisión entre los elementos con identificadores id1 e id2, para ello, cambia el nombre del elemento que identifica id1 y conserva ambos elementos. La réplica X envía el elemento combinado que identifica id1 y un marcador de exclusión de combinación que indica que id2 se ha combinado en id1. Se detecta el conflicto en id1 y se resuelve como un conflicto de simultaneidad. Se detecta el conflicto en id2 y se notifica a la aplicación de sincronización como un conflicto de identidad, especificando que el motivo del conflicto es CCR_IDENTITY. La aplicación determina si resolver el conflicto conservando el cambio de origen o el cambio de destino.

Notas

El proveedor de destino utiliza un miembro de CONSTRAINT_CONFLICT_REASON para especificar el motivo de un conflicto de restricción cuando notifica un conflicto de restricción al aplicador de cambios. Para obtener más información sobre conflictos de restricción, vea Detectar y resolver conflictos de restricción.

Requisitos

Encabezado: Synchronization.h

Vea también

Conceptos

Componentes principales de Sync Framework