2010-03-17 2 views
1

У меня есть вопрос, но я не уверен в использовании слова.Обмен/обмен данными с базой данных

Моя проблема: У меня есть приложение, использующее базу данных для хранения информации. База данных может иметь доступ (локальный) или на сервере (SQL Server или Oracle). Мы поддерживаем эти 3 вида базы данных. Мы хотим дать возможность пользователю делать то, что, как я думаю, можно назвать версией.

Позвольте мне объяснить: у нас есть база данных 1. Это мастер. Мы хотим создать базу данных 2, которая будет той же самой, что и база данных 1, но мы можем дать ее кому-то еще.

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

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

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

Это 2 миллиона и растущее приложение C++, поэтому переписывание невозможно!

Спасибо за любые идеи, которые вы можете нам дать!

J-F

+0

Это звучит как такой беспорядок, был там, удачи –

ответ

0

термин вы ищете базы данных репликации. Вы можете Google, чтобы получить больше информации о теме (мой личный опыт ограничен).

+0

'но с возможностью уволить часть изменения.' Будет сложно –

+0

@KM: Я сомневаюсь, что они найдут готовый продукт. Но литература должна предоставить им информацию о том, как вести журнал или обнаруживать изменения и перемещать информацию об обновлении между узлами базы данных. С уже существующими 2-метровыми линиями кода, похоже, они готовы разработать собственное решение. –

+0

Я согласен с «сомнением, что они найдут готовый продукт». –

0

Это было уже сделано ческих (старый SunOS календарь приложение).

Что вы храните/помните/передаете, когда приложение вносит изменения не только в содержимое базы данных, но и в журнал изменений (например, «удалить запись с идентификатором 1», «записать запись с идентификатором 2 с этими полями», «вставить запись с этими полями»)

Таким образом, вы можете применить эти изменения в мастер БД позже, и фильтровать их перед применением

+0

Спасибо, это тоже отличная идея. Мы делаем это в одном из наших небольших приложений, и это очень сложно управлять, но это решение для поиска. –

Смежные вопросы