Обновление невозможно с реплицированной базой данных и обновлением с помощью tableadapter - PullRequest
0 голосов
/ 01 августа 2009

Я поддерживаю старое приложение. Я бы начал репликацию слиянием между двумя серверами. Но после этого я получаю эти сообщения об ошибках " Обновление столбцов со свойством rowguidcol не разрешено ."

Неужели нет больше возможности использовать табличные адаптеры для обновления? Должен ли я выполнить рефакторинг этого приложения, чтобы можно было выполнить репликацию слиянием?

Спасибо за ввод.

Редактировать

Я проверил автоматически созданные XSD-файлы и обнаружил, что в каждом обновлении каждое поле обновляется. Некоторые столбцы относятся к типу unique-identifier, и даже если вы не можете изменить эти значения из приложения, оператор выглядит следующим образом

update myTable set uniquekeycol = oldValue .... where actualPrimaryKey = value 

наша база тестов имеет ту же схему, но работает на sql2008, и похоже, что приложение работает без каких-либо изменений. (Я только что создал репликацию слиянием без подписчиков).

становится незнакомцем и незнакомцем

1 Ответ

2 голосов
/ 02 августа 2009

Репликация добавляет триггеры в таблицы для захвата изменений, и эти триггеры предотвращают обновление столбца идентификатора репликации (тот, который имеет свойство rowguidcol). Замечания по репликации слиянием :

Добавление колонки уникального идентификатора

Репликация слиянием использует глобально столбец уникального идентификатора (GUID) для определить каждую строку во время слияния процесс репликации. Если опубликовано таблица не имеет уникального идентификатора столбец со свойством ROWGUIDCOL и уникальный индекс, добавляет репликация один. Убедитесь, что любой SELECT и INSERT заявления, ссылки на которые опубликованы таблицы используют списки столбцов. Если стол больше не публикуется и тиражирование добавлен столбец, столбец удален; если столбец уже существовал, не удаляется.

Вам нужно будет отредактировать ваш набор данных и удалить столбец репликации из списка проекций ваших адаптеров таблиц.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...