Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как сделать синхронизацию данных в таблицах офис-филиал  [new]
stim24
Member

Откуда: Иркутск
Сообщений: 173
Нужно синхронизировать справочники.
Есть центральная БД(офис). Также есть БД(филиал). Структура одинаковая.
Связи между ними нету. То есть как "Связанный сервер" подключить их не получиться.
Общение только через "флешечку".

Ну так вот как можно синхронизировать справочник офиса с филиалом?
Конечно я могу выгрузить справочник офиса в файл(пусть даже xml csv не важно во что),
Потом на флешке в филиале загрузить во временную таблицу и с нее обновить данные в филиалы парочками запросов(delete,update,insert).
Просто лень это писать да справочников много под каждый придется все это делать.
Может есть какое-то готовое автоматизированное решение у MSSQL?
25 окт 15, 16:31    [18323165]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Glory
Member

Откуда:
Сообщений: 104760
stim24
Может есть какое-то готовое автоматизированное решение у MSSQL?

Script objects with data
26 окт 15, 09:21    [18325218]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
stim24
Member

Откуда: Иркутск
Сообщений: 173
Может я что-о не совсем понял.
В менеджмент студио да может создать скрипт для таблицы со включением данных.
Но от он не обновляет данные а только делает insert-ы для для данных не говорят что надо удалить позиции и не проверяет есть ли такая таблица уже или нет.
26 окт 15, 12:06    [18326238]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Glory
Member

Откуда:
Сообщений: 104760
stim24
В менеджмент студио да может создать скрипт для таблицы со включением данных.
Но от он не обновляет данные а только делает insert-ы для для данных не говорят что надо удалить позиции и не проверяет есть ли такая таблица уже или нет.

Ну так "напилите" свой скрипт
Например, удаляйте сначала данные из таблиц. Или вообще удаляйте все таблицы

Сообщение было отредактировано: 26 окт 15, 12:09
26 окт 15, 12:08    [18326259]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
stim24
Member

Откуда: Иркутск
Сообщений: 173
Ну как решение да.... только опять под каждую таблицу лепить.
Я просто думал есть какойто механизм который берет и данные в таблице заменяет.
Что-то типа dacpac
26 окт 15, 12:20    [18326333]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Glory
Member

Откуда:
Сообщений: 104760
stim24
Я просто думал есть какойто механизм который берет и данные в таблице заменяет.

Такой мехнаизм есть. Называется он репликация.

stim24
Что-то типа dacpac

И что он делает то, что вам надо, не имея никакой связи с удаленным сервером/базой и не зная о них вообще ничего ?
Как он, например, передает удаленные записи ?
26 окт 15, 12:25    [18326363]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20970
stim24
Конечно я могу выгрузить справочник офиса в файл(пусть даже xml csv не важно во что),
Потом на флешке в филиале загрузить во временную таблицу и с нее обновить данные в филиалы парочками запросов(delete,update,insert).
Просто лень это писать да справочников много под каждый придется все это делать.
Может есть какое-то готовое автоматизированное решение у MSSQL?

Я бы предложил в центре, кроме актуальных справочников, держать и тот вид справочников, который лежит в филиале. Имея две таблицы, несложно выгрузить (а "дома на это времени куда как больше") и везти в филиал только изменения. Ну в смысле подготовленный скрипт, который "дотянет" филиальскую таблицу до центральной.
26 окт 15, 12:28    [18326382]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8335
Можно написать пакеты SSIS для импорта - экспорта. Но, в любом случае, оно по щучьему велению не создастся.
26 окт 15, 12:58    [18326571]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Nik_Kurta
Member

Откуда: Россия, Симферополь
Сообщений: 66
Самое простое и надёжное средство, это - репликация данных в таблицах. Если требуется двусторонняя синхронизация, то делаем merge реплику!
26 окт 15, 16:44    [18328492]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
o-o
Guest
Nik_Kurta
Самое простое и надёжное средство, это - репликация данных в таблицах. Если требуется двусторонняя синхронизация, то делаем merge реплику!

stim24
Связи между ними нету.
Общение только через "флешечку".
26 окт 15, 17:20    [18328825]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Nik_Kurta
Member

Откуда: Россия, Симферополь
Сообщений: 66
Ваши филиалы, что в лесу находятся? Нет там интернет? Проблема настроить VPN-туннель? Никто не знает что Вы используете в качестве клиента и как обрабатываете данные в базе. Но всегда можно написать экспорт\импорт, используя форматы XML, EXCEL и т.п.
27 окт 15, 12:19    [18331990]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Jaffar
Member

Откуда:
Сообщений: 633
Nik_Kurta,

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

Но все это нужно писать руками.
27 окт 15, 12:47    [18332140]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8335
Можно изучить возможности change traсking, я этим не пользовался.
27 окт 15, 12:54    [18332186]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31783
Nik_Kurta
Но всегда можно написать экспорт\импорт, используя форматы XML, EXCEL и т.п.
Да в общем ТС это и написал в стартовом посте.
27 окт 15, 13:05    [18332256]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
stim24
Member

Откуда: Иркутск
Сообщений: 173
Почти в лесу) Мед данные не желательно по интернету передавать)
Вообщем понятно делаем по рабоче крестьянски - делаем скрипты под каждую таблицу.
28 окт 15, 03:46    [18335620]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
AndyMandy
Member

Откуда: СПб
Сообщений: 196
stim24
....Вообщем понятно делаем по рабоче крестьянски - делаем скрипты под каждую таблицу.

Когда-то давно написал приложение на дельфях для этой задачи. Состояло из двух, что ли частей. Редактора репликации и приложения перегоняющего данные. Обмен был на XML с помощью механизма трансляции строк ADO. Реплицировались таблицы только с простым primary key, кроме того в таблице не должно быть полей blob. Если вас это интересует могу выложить например на git
28 окт 15, 08:05    [18335741]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать синхронизацию данных в таблицах офис-филиал  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52490
stim24
Мед данные не желательно по интернету передавать)

VPN? Не, не слышал...
28 окт 15, 15:02    [18338550]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить