Кажется, что вы хотите решить, это переместить данные из нескольких локальных баз данных в центральную, чтобы вы могли использовать их через веб-сайт asp.net.Я не буду обсуждать часть приложения, так как эту проблему легко решить, как только вы сможете подключиться к БД, в которой есть все необходимые данные.
Здесь нужно учесть несколько моментов:
- Повторение (однократная миграция против непрерывной синхронизации)
- Направление (требуется синхронизация в одну сторону от локальной к центральной или двусторонней)
Контракт данных (выполнитьлокальные базы данных имеют ту же или другую схему, что и центральная база данных)
Контракт данных является вашей самой большой проблемой, если схемы различаются, поскольку вам нужно будет разработать хотя бы целевую схему для центральной базы данных, которая может принимать данные из локальной базы данныхDBS.Даже если схемы идентичны, вам нужно будет разработать способ разделения данных в центральной базе данных, вам может понадобиться ввести столбец sourceDatabaseId в ваши таблицы, чтобы у вас не было конфликтующих первичных ключей (у вас не возникнет таких проблем, есливаши первичные ключи - гиды)
Остальные могут быть решены в любом здании:
- Служба Windows - Входы: периодичность (например, каждый час), источник дБи целевые строки подключения БД.У вас будет основной цикл, который ожидает, пока не наступит время для выполнения (на основе периодичности) и извлекает данные из исходной базы данных и сохраняет их в целевой базе данных (предпочтительно в пакетах)
- Консольное приложение - Inputs: source dbи целевые строки подключения БД.Вы будете просто перемещать данные в пакетном режиме.Вы можете настроить запланированную задачу на сервере, который будет выполнять запланированные запуски вашего консольного приложения для решения периодической части выполнения.
Вы должны настроить одну такую службу Windows или запланированное консольное приложение для локальной базы данных.
Если у вас сложные базы данных, вы можете воспользоваться такими инструментами, как Microsoft Sync Framework, чтобы выполнить эту синхронизацию данных.