Невозможно обновить / вставить в реплицированную таблицу - PullRequest
0 голосов
/ 11 октября 2011

Я определил однонаправленную публикацию таблицы на SQL Server.На стороне подписчика (SQL Compact) мне нужно иметь возможность извлекать содержимое таблицы и изменять их, НО эти изменения НЕ ДОЛЖНЫ отправляться обратно издателю.Время от времени содержимое таблицы должно быть повторно инициализировано с обновленной версией от издателя, удаляя все изменения, которые были сделаны локально.Меня не волнуют любые конфликты, которые могут возникнуть, так как данные не будут отправлены обратно на сервер.

Проблема в том, что я не могу обновить / вставить / удалить какие-либо строки в таблице, если я не опубликуюстол как "двунаправленный", что не то, что я хочу.При попытке обновить эту таблицу (на стороне клиента) я получаю следующую ошибку:

SSCE_M_READONLY "При выполнении принудительной отправки RDA SQL Server Compact смог получить только курсор только для чтениядля таблиц, отправляемых на сервер SQL. При попытке выполнить принудительную отправку на сервере SQL Server могут возникать конфликты блокировки. Убедитесь, что таблица на сервере SQL Server является обновляемой, и повторите попытку. "

В общем, я хочу:

  • получить данные с сервера
  • работать с данными (вставить / обновить / удалить)
  • удалить все измененные строки
  • синхронизировать таблицу (получить «чистую» версию с сервера)

Я бы предпочел не перезагружать все содержимое таблицы при синхронизации, но этоНЕ ДОЛЖЕН.

1 Ответ

0 голосов
/ 25 декабря 2011

Репликация - это поддержание согласованности данных между издателем и подписчиком, поэтому я бы сказал, что вы не хотите использовать их в своей ситуации.

А как насчет настройки пакета служб SSIS, который вы могли бы периодически запускать? Он будет выполнять поиск и вставлять новые строки и сбрасывать существующие строки обратно к тому, что имеет для них издатель. Подобно тому, что описано здесь:

http://beingoyen.blogspot.com/2010/03/ssis-how-to-update-instead-of-insert.html

enter image description here

...