0 / 0 / 0
Регистрация: 27.01.2012
Сообщений: 24
|
|
1 | |
Как правильно огранизовать переодическую переливку данных между базами20.11.2012, 14:34. Показов 1642. Ответов 1
Метки нет (Все метки)
Всем привет.
Подскажите как правильно организовать переодическую переливку инфо с одной БД в другую БД2? Суть задачи: есть одна БД с написанным специально для нее интерфейсом. Возникла необходимость часть информации, которая вносится в БД дублировать в другой БД2, причем дублировать необходимо только 3 поля из 20. К БД2 доступа нету, но есть процедура(далее proc), которая на вход получает 3 поля а возвращает результат заливки(успешно или с ошибкой). Реализовать тупым вызовом процедуры proc внутри процедуры заливки инфо в первую БД(на которую написан интерфейс) не сложно, но в случае возникновения ошибки возникнет ситуация, когда запись в БД зальется а в БД2 будет отсутствовать. Как я думал это сделать:
Таким образом в случае возникновения ошибки для конкретных записей, при заливке след записи опять будет осуществляться попытка заливки всех записей, по которым заливка произошла с ошибкой. Вопрос - правильно ли будет сделать таким образом, или возможно сделать все проще и надежнее?
0
|
20.11.2012, 14:34 | |
Ответы с готовыми решениями:
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 | |
20.11.2012, 15:28 | |
Помогаю со студенческими работами здесь
2
Различия между базами данных Интеллектуальный перенос данных между базами Переключение между базами данных. (VBA, Excel 2010) Перенос данных между базами с разной структурой таблиц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |