Я бы склонялся к загрузке полной базы данных и выполнению преобразования на сервере.
В любом случае вам нужно написать программу преобразования.Реальный вопрос заключается в том, сколько конверсии вы развернете и запустите на компьютерах клиентов.Я хотел бы сохранить эту часть как можно проще, то есть просто загрузить.Таким образом, если вы обнаружите какие-либо ошибки или неожиданные данные во время преобразования, вы можете просто обновить сервер и не нужно повторно развертывать программу преобразования.
Общий объем данных, о которых вы говорите, не слишком велик для загрузки, и, похоже, большинство из них необходимо будет загрузить в любом случае.
Если вы устанавливаете конверсионную программу локально, ей потребуется способ восстановления после конвертации, которая частично остановилась.Это может быть намного сложнее, чем просто перезапустить загрузку базы данных доступа.
Кроме того, вы не указываете, что веб-службы будут нуждаться после преобразования.Усилия по объединению этих сервисов и обеспечению их работоспособности и безопасности во время конверсий будут гораздо больше, чем простое приложение для загрузки или веб-форма.
Еще один фактор - это скорость конвертации ваших клиентов.Если некоторые из них будут запускать текущее приложение в течение некоторого периода времени, вам может потребоваться обновить приложение преобразования, так как база данных сервера меняется со временем.Если вы загрузите базу данных и запустите преобразование на сервере, то потребуется обновить только программу преобразования сервера.Не будет никакого риска того, что клиент скачает программу преобразования, но не запустит ее до тех пор, пока не будут обновлены базы данных сервера.
У нас есть похожий случай, когда мы решаем запустить преобразование на сервере.Мы создали веб-страницу для пользователя, чтобы загрузить свои файлы.В этом случае нет ничего для развертывания для нового приложения.Единственный недостаток, который мы обнаружили, - это заставить пользователя выбрать правильный файл.Если вы используете веб-форму для загрузки, вы не можете предварительно выбрать имя файла для пользователя из-за ограничений безопасности.В нашем случае мы знали, где находится файл, а клиенты - нет.Мы предоставляем указания на странице загрузки для пользователей, чтобы помочь им.Вы можете избежать этого, написав небольшое настольное приложение для выполнения загрузки для пользователей.
Единственный недостаток, который я вижу при написании серверной конверсии, - это то, что некоторые данные вашего шаблона будут загружены, что не нужно.В любом случае это небольшой объем данных.
Плюсы сервера: - Нет необходимости повторно развертывать преобразование из-за ошибок, непредвиденных данных или изменений в базе данных сервера - Легче защитить (возможно), есть только один доступточка - загрузка.Конечно, вы принимаете данные о клиентах в виде базы данных доступа, поэтому вы все еще не можете доверять ей.
Недостатки сервера: - загрузка ненужных данных шаблона
Desktop Pros: -?У меня возникают проблемы с любыми
Минусами рабочего стола: - Может потребоваться развернуть несколько версий
Что касается непосредственного общения с базой данных сервера.У меня есть одно приложение, которое напрямую обращается к размещенной базе данных, чтобы избежать создания веб-сервисов.Это работает хорошо, но если бы у меня была возможность, я бы больше не пошел по этому пути.Интернет отключается на регулярной основе, и поставщики SQL не очень хорошо выздоравливают.Мы обучили наших клиентов просто попробовать еще раз, когда это произойдет.Мы сделали это, чтобы избежать создания веб-сервисов для нашего настольного приложения.Мы просто ссылаемся на IP-адрес в строке подключения к серверу.Существует целый список причин безопасности, чтобы не идти по этому пути - мы были довольны нашей настройкой безопасности и возможными рисками.В конце концов, отказ от использования настольного приложения без каких-либо модификаций не стоил иметь нестабильный продукт.