Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
stim24 Member Откуда: Иркутск Сообщений: 173 |
Нужно синхронизировать справочники. Есть центральная БД(офис). Также есть БД(филиал). Структура одинаковая. Связи между ними нету. То есть как "Связанный сервер" подключить их не получиться. Общение только через "флешечку". Ну так вот как можно синхронизировать справочник офиса с филиалом? Конечно я могу выгрузить справочник офиса в файл(пусть даже xml csv не важно во что), Потом на флешке в филиале загрузить во временную таблицу и с нее обновить данные в филиалы парочками запросов(delete,update,insert). Просто лень это писать да справочников много под каждый придется все это делать. Может есть какое-то готовое автоматизированное решение у MSSQL? |
25 окт 15, 16:31 [18323165] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Script objects with data |
||
26 окт 15, 09:21 [18325218] Ответить | Цитировать Сообщить модератору |
stim24 Member Откуда: Иркутск Сообщений: 173 |
Может я что-о не совсем понял. В менеджмент студио да может создать скрипт для таблицы со включением данных. Но от он не обновляет данные а только делает insert-ы для для данных не говорят что надо удалить позиции и не проверяет есть ли такая таблица уже или нет. |
26 окт 15, 12:06 [18326238] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну так "напилите" свой скрипт Например, удаляйте сначала данные из таблиц. Или вообще удаляйте все таблицы Сообщение было отредактировано: 26 окт 15, 12:09 |
||
26 окт 15, 12:08 [18326259] Ответить | Цитировать Сообщить модератору |
stim24 Member Откуда: Иркутск Сообщений: 173 |
Ну как решение да.... только опять под каждую таблицу лепить. Я просто думал есть какойто механизм который берет и данные в таблице заменяет. Что-то типа dacpac |
26 окт 15, 12:20 [18326333] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Такой мехнаизм есть. Называется он репликация.
И что он делает то, что вам надо, не имея никакой связи с удаленным сервером/базой и не зная о них вообще ничего ? Как он, например, передает удаленные записи ? |
||||
26 окт 15, 12:25 [18326363] Ответить | Цитировать Сообщить модератору |
Akina Member Откуда: Зеленоград, Москва, Россия Сообщений: 20970 |
Я бы предложил в центре, кроме актуальных справочников, держать и тот вид справочников, который лежит в филиале. Имея две таблицы, несложно выгрузить (а "дома на это времени куда как больше") и везти в филиал только изменения. Ну в смысле подготовленный скрипт, который "дотянет" филиальскую таблицу до центральной. |
||
26 окт 15, 12:28 [18326382] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8335 |
Можно написать пакеты SSIS для импорта - экспорта. Но, в любом случае, оно по щучьему велению не создастся. |
26 окт 15, 12:58 [18326571] Ответить | Цитировать Сообщить модератору |
Nik_Kurta Member Откуда: Россия, Симферополь Сообщений: 66 |
Самое простое и надёжное средство, это - репликация данных в таблицах. Если требуется двусторонняя синхронизация, то делаем merge реплику! |
26 окт 15, 16:44 [18328492] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
|
||||
26 окт 15, 17:20 [18328825] Ответить | Цитировать Сообщить модератору |
Nik_Kurta Member Откуда: Россия, Симферополь Сообщений: 66 |
Ваши филиалы, что в лесу находятся? Нет там интернет? Проблема настроить VPN-туннель? Никто не знает что Вы используете в качестве клиента и как обрабатываете данные в базе. Но всегда можно написать экспорт\импорт, используя форматы XML, EXCEL и т.п. |
27 окт 15, 12:19 [18331990] Ответить | Цитировать Сообщить модератору |
Jaffar Member Откуда: Сообщений: 633 |
Nik_Kurta, можно например сделать отправку через почту чтобы bat-ник сформированный скрипт паковал и отправлял куда нужно - а на той стороне обработчик это дело подхватил бы и все. нужно только запретить изменения на филиалах, всем кроме синхронизатора. а на офисе тоже сделать триггер который бы логировал изменения для скриптования. Но все это нужно писать руками. |
27 окт 15, 12:47 [18332140] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8335 |
Можно изучить возможности change traсking, я этим не пользовался. |
27 окт 15, 12:54 [18332186] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31783 |
|
||
27 окт 15, 13:05 [18332256] Ответить | Цитировать Сообщить модератору |
stim24 Member Откуда: Иркутск Сообщений: 173 |
Почти в лесу) Мед данные не желательно по интернету передавать) Вообщем понятно делаем по рабоче крестьянски - делаем скрипты под каждую таблицу. |
28 окт 15, 03:46 [18335620] Ответить | Цитировать Сообщить модератору |
AndyMandy Member Откуда: СПб Сообщений: 196 |
Когда-то давно написал приложение на дельфях для этой задачи. Состояло из двух, что ли частей. Редактора репликации и приложения перегоняющего данные. Обмен был на XML с помощью механизма трансляции строк ADO. Реплицировались таблицы только с простым primary key, кроме того в таблице не должно быть полей blob. Если вас это интересует могу выложить например на git |
||
28 окт 15, 08:05 [18335741] Ответить | Цитировать Сообщить модератору |
Dimitry Sibiryakov Member Откуда: Сообщений: 52490 |
VPN? Не, не слышал... |
||
28 окт 15, 15:02 [18338550] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |