Форум программистов, компьютерный форум, киберфорум
Oracle
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 24
1

Как правильно огранизовать переодическую переливку данных между базами

20.11.2012, 14:34. Показов 1642. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет.
Подскажите как правильно организовать переодическую переливку инфо с одной БД в другую БД2?
Суть задачи: есть одна БД с написанным специально для нее интерфейсом. Возникла необходимость часть информации, которая вносится в БД дублировать в другой БД2, причем дублировать необходимо только 3 поля из 20. К БД2 доступа нету, но есть процедура(далее proc), которая на вход получает 3 поля а возвращает результат заливки(успешно или с ошибкой). Реализовать тупым вызовом процедуры proc внутри процедуры заливки инфо в первую БД(на которую написан интерфейс) не сложно, но в случае возникновения ошибки возникнет ситуация, когда запись в БД зальется а в БД2 будет отсутствовать.

Как я думал это сделать:
  1. Создать в БД таблицу t1 с 3 полями, которые необходимо передавать в процедуру proc, дата и время создания записи,дата и время успешной заливки, статус успешной заливки в БД2.
  2. Создать процедуру synhr, которая будет переливать с помощью proc все записи со [статус успешной заливки] = 0 (тоесть заливка произошла с ошибкой) или для которых процедура synhr не запускалась.
  3. В процедуре добавление инфо в БД добавить пару строчек кода, которые будут заливать 3 необходимые поля в таблицу t1 и запускать процедуру synhr.

Таким образом в случае возникновения ошибки для конкретных записей, при заливке след записи опять будет осуществляться попытка заливки всех записей, по которым заливка произошла с ошибкой.

Вопрос - правильно ли будет сделать таким образом, или возможно сделать все проще и надежнее?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2012, 14:34
Ответы с готовыми решениями:

Как правильно работать с базами данных?
Добрый день! Как не потеряться во всем разнообразии классов, технологий ADO, Linq, EF что с чем...

Передача данных между базами данных в пределах одного экземлпяра
Доброго времени суток! ПОДСКАЖИТЕ,пожалуйста, с помощью чего передавать данные из одной БД в...

Перенос данных между базами
Всем форумчанам привет! Хм.... Нужна помощь, правда пока не знаю как объяснить... но, --есть...

передача данных между базами
Здраствуйте. Такая проблема. Есть две баps drupal и gaz. Нужно пользователей из базы drupal...

1
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
20.11.2012, 15:28 2
Можно так, а можно немного модифицировать.
Создать 2 таблицы: буфер для пересылки и протокол пересылки.
Когда необходима пересылка, в одной транзакции делаем следующее:
1. читаем из протокола дату предыд. пересылки
2. записываем в протокол дату/время пересылки
3. копируем в буфер из основной таблицы те строки, которые имеют дату больше даты предыд. пересылки
4. вызываем процедуру пересылки
5.
а. если она проходит успешно, то очищаем буфер и COMMIT. Записанная в протокол дата становится последней
6. если неуспешно - ROLLBACK. В этом случае данные из буфера исчезают и дата из протокола тоже, т.е. последней датой пересылки остается предыдущая
0
20.11.2012, 15:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2012, 15:28
Помогаю со студенческими работами здесь

Различия между базами данных
Здравствуйте. Скажите, пожалуйста, есть ли разница синтаксиса MySQL и Oracle Database? То есть...

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

Переключение между базами данных. (VBA, Excel 2010)
Доброго времени суток. Человек я всю жизнь проходящий мимо программирования, и пытающийся решить...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru