TSQL - передача данных между БД - PullRequest
0 голосов
/ 13 июня 2018

TSQL - передача данных между БД

Здравствуйте,

, как указано в теме. Я сообщаю мне, как осуществлять передачу данных между двумя различными программами.Каждый с БД SQL Server.Скорее всего, они находятся на одном сервере, поэтому только разное время, и я могу получить доступ к ним обоим.Если базы данных находятся в разных сетях, я реализую VPN.

Пример: в таблице «anagrafica» в «DB_a» у меня есть личные данные клиента (имя, фамилия, рождение, пол ...) В таблице "anagrafica" в "DB _b" у меня еще нет этого реестра.

-Тогда я хотел бы передать из "DB_a.anagrafica" в "DB_b.anagrafica" эту записьочевидно с id MAX (DB_b.id), потому что в таблице «DB_b. Registry» уже есть записи с относительным идентификатором.(CASE INSERT);

  • Или, если данные обновляются в DB_a.anagrafica, обновление должно выполняться в полях «DB_b.anagrafica»;

  • В случае, если новая запись должна быть вставлена ​​в слабую таблицу «DB_b», напр.«DB_b.pagamenti» - это уникальный идентификатор таблицы и внешний ключ, который указывает на идентификатор таблицы надежных личных данных;(возможно, данные в слабой таблице могли бы иметь еще два поля start_date и data_fine), эта таблица равна 1: N

-Две БД были написаны двумя разными типами программного обеспечения, поэтому большинствоскорее всего, типы полей могут отличаться.(символы, цифры, дата и время и т. д.), затем CAST, CONVERT и т. д.

  • В конце также может быть возвращаемая цифра для завершения всей задачи.из "DB_b".реестр "DB_a.anagrafica".

Тем не менее, существует программное обеспечение, которое уже существует, которое ставит вас в середину двух БД, является обменом?(Скорее всего, запланировано с планировщиком Windows).Или магазинная процедура.

У вас есть еще какие-то указания, чтобы дать мне?

Заранее спасибо

1 Ответ

0 голосов
/ 13 июня 2018

Самый важный вопрос в таком сценарии: есть ли ведущая система?

Самым сложным в таком сценарии является: работа с параллелизмом.

Для вашего сценария кажется, чтодовольно легко ответить на ваш первоначальный вопрос («TSQL - передача данных между БД»):

Если обе базы данных могут «видеть» друг друга, просто реализует связанный сервер .Вы можете прочитать о OPENQUERY и перейти по ссылкам внизу этой страницы.

Типичными подходами являются

  • , смещающие изменения непосредственно к цели(в случае ведущей системы)
    Использование отметок времени для поиска одновременных изменений

  • сдвиг всех изменений в промежуточную таблицу (по одному для обоих или по одному для каждого)
    Использованиелюбой подходящий инструмент (T-SQL или любой другой язык программирования, который вы предпочитаете) для регулярного чтения этой / этих таблиц, работы с бизнес-правилами и соответствующего обновления обеих систем.

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

Поскольку ваши системы похожи, но не идентичны, не будет никакого волшебного автоматического чудо-инструмента; -)

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