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