Поделиться через


Перечисление CONSTRAINT_CONFLICT_REASON

Представляет причины, по которым может произойти конфликт ограничения.

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

Элементы

Аргумент

Определение

CCR_OTHER

Элемент или базовая единица нарушает какое-либо другое ограничение реплики назначения. Поставщик может дополнительно указать идентификатор конфликтующего элемента, обозначив его как идентификатор конфликтующего элемента.

CCR_COLLISION

Этот элемент не может быть сохранен, поскольку конфликтует с другим элементом в хранилище, например, имеющим то же имя. Поставщик должен указать идентификатор элемента назначения в качестве идентификатора конфликтующего элемента.

CCR_NOPARENT

Этот элемент не может быть сохранен в хранилище иерархических данных, поскольку для него требуется родительский элемент, не существующий в хранилище. Поставщик может дополнительно указать идентификатор недостающего родительского элемента в качестве идентификатора конфликтующего элемента.

CCR_IDENTITY

В реплике источника и реплике назначения не совпадает идентификатор элемента. Например, реплика X разрешает конфликт совпадения между элементами с идентификаторами id1 и id2 путем объединения элементов и присваивания идентификатора id1 объединенному элементу. Реплика Y разрешает конфликт совпадения между элементами с идентификаторами id1 и id2 путем переименования элемента с идентификатором id1, и сохранения обоих элементов. Реплика X передает объединенный элемент с идентификатором id1, и отметку полного удаления слиянием, которая указывает, что произошло слияние элемента id2 с элементом id1. Конфликт с элементом id1, обнаруживается и разрешается как конфликт параллелизма. Конфликт в отношении элемента id2 обнаруживается, и сообщение о нем как о конфликте идентификаторов поступает в приложение синхронизации в виде указания причины конфликта CCR_IDENTITY. Приложение определяет, следует ли разрешить конфликт путем сохранения изменения в источнике или в назначении.

Замечания

В поставщике назначения используется элемент CONSTRAINT_CONFLICT_REASON, чтобы указать причины конфликта ограничения, если он сообщает о конфликте ограничения объекту применения изменений. Дополнительные сведения о конфликтах ограничений см. в разделе Обнаружение и разрешение конфликтов ограничений.

Системные требования

Заголовок: Synchronization.h

См. также

Основные положения

Базовые компоненты Sync Framework