Постоянно заполнять / обновлять таблицу SQL Server из файла XML или веб-службы? Помня о минимальной поддержке - PullRequest
1 голос
/ 11 февраля 2011

В базе данных SQL Server у меня есть таблица Products, которая содержит ProductID, ProductName, Price и другие данные, связанные с ProductID.Я хотел бы, чтобы эти данные ежедневно обновлялись для изменения цен, а также для любых новых продуктов, не входящих в таблицу SQL.

Было бы проще всего получить данные о продукте из файла XML и импортировать эти данные в таблицу продуктов SQL ИЛИ использовать веб-сервис с данными?Просто ищу всякие мысли о самом быстром и простом пути с минимальной поддержкой в ​​будущем.Спасибо заранее, я ценю ..

Ответы [ 2 ]

1 голос
/ 11 февраля 2011

Если ваш объект "Product" довольно прост и хорошо определен, я бы сделал следующее:

  • определите схему XML (XSD) для вашего файла XML
  • создайте небольшойконсольное приложение, которое будет
    • регулярно вызываться планировщиком (например, «запланированные задачи» Windows) (каждые 2 минуты, каждые 8 ​​часов - полностью на ваше усмотрение)
    • открывает файл XML вфиксированное местоположение (если оно есть) - или вызывает веб-сервис для получения XML в качестве альтернативы
    • десериализует этот XML в список объектов "Product"
    • обновляет базу данных в соответствии с даннымив объектах "Product"

Вы можете легко иметь, например, флаг IsNew, чтобы пометить новые продукты, а для существующих продуктов ваш XML может содержать только ProductID и новый Price.

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

0 голосов
/ 11 февраля 2011

Зависит:

  1. Если XML-файл необходимо импортировать в таблицу продуктов SQL вручную при каждом новом обновлении, то веб-служба будет самым чистым, быстрым и простым способом.

  2. Если файл XML будет помещен в системную папку, может быть создан сервис Windows или демон Linux для постоянного наблюдения (в режиме реального времени) этого пути для передачи обновленных данных.

  3. , если еще не существует определенной структуры для файла XML, веб-служба может напрямую «общаться» с базой данных и опускать сборку XML и WinService / LinuxDaemon.

-DT

...