Перечисление 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