Синхронизация между клиентской базой и центральной базой данных - PullRequest
0 голосов
/ 10 мая 2010

Я пытаюсь разработать пользовательский интерфейс в C # .NET для синхронизации 7 экземпляров резервных баз данных с центральной базой данных один за другим (все с одинаковой схемой). Резервная база данных (все клиентские базы данных 7 экземпляров), которая передается в центральный Сервер в съемном устройстве, такой pendrive, будет состоять из файлов mdf и ldf от каждого клиента и будет подключен к серверу, на котором находится центральная база данных. После того, как все клиентские резервные базы данных подключены, мне нужно синхронизировать (обновлять существующие данные или вставлять новые данные в центральную базу данных, находящуюся на сервере) каждую резервную копию базы данных одну за другой в центральную базу данных. Я хочу знать, как я могу синхронизировать между резервной базой данных с центральной базой данных, используя C # .NET

1 Ответ

0 голосов
/ 10 мая 2010

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

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

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

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

Редактировать Для фактического обновления вам понадобится открыть DataReader для вашей «исходной» базы данных, которая находит записи. Затем из этого объекта создайте вторичный читатель, который «выберите ** измененные ** столбцы из каждой из указанных таблиц» и прочитайте, что Затем вы создаете объект команды и ExecuteNonQuery для вашей целевой базы данных.

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