Предполагается, что нет способа синхронизировать данные непосредственно между устаревшей системной БД (находится ли она в Access или Access только запускает отчеты) и БД SQL Server на веб-сайте (я не в курсе любой):
Проблема с «выталкиванием» данных непосредственно на сервер SQL заключается в том, что «старые» (уже в БД) записи не будут обновляться, а вместо этого удаляются и затем воссоздаются. Это большая проблема с внешними ключами. Кроме того, мне действительно не нравится идея предоставить клиенту какой-либо доступ к БД.
Итак, учитывая это, я считаю, что лучше всего написать относительно простую страницу, которая берет загруженный файл и обновляет базу данных. Файл, скорее всего, будет CSV, возможно, XML. После нескольких итераций написания этих страниц на протяжении многих лет, вот что я придумала:
Показать окно загрузки файла.
При загрузке следующей страницы сохраните файл во временную папку
- Перебрать каждую строку (элемент в XML) и проверять все данные. Внешние ключи, особенно, но и проверки бизнеса. Вы также можете проверить, существует ли строка заголовка и т. Д. Не обновляйте базу данных.
3a. Если существуют недопустимые данные, сохраните сообщение об ошибке в массиве
В конце цикла покажите вид.
4а. Если были ошибки, покажите список сообщений об ошибках и попросите их повторно загрузить файл.
4b. Если ошибок не было, создайте ссылку с расположением файла из # 2 и флажком подтверждения
После того как местоположение файла и флаг подтверждения были переданы, снова запустите цикл в # 3, но есть оператор if (Verified) {}, который фактически обновляет базу данных.
РЕДАКТИРОВАТЬ: Я видел ваш другой пост. Одно из предположений, которые я сделал, состоит в том, что базы данных не будут одинаковыми. то есть, у унаследованного приложения будет таблица или два. Может быть, просто продукты. Но новое приложение будет иметь заказы, товары, категории и т. Д. И т. Д. Это усложнит «просто загрузку файла».