Массовый импорт / обновление записей из XML, SQL Server 2008 - PullRequest
1 голос
/ 24 декабря 2011

Каков наилучший способ обновления 10000 строк в базе данных SQL Server 2008 из ленты XML? Это веб-приложение .net с большой базой данных о клиентах, я бы хотел, чтобы оно обновлялось из приложения, и не нужно было возиться с sql manager и т. Д.

Я заметил, что есть несколько похожих вопросов: популярный ответ: BULKCOPY, данные XML в временную таблицу, затем ОБНОВЛЕНИЕ в существующую таблицу?

Спасибо

1 Ответ

2 голосов
/ 25 декабря 2011

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

У вас в основном есть два варианта: получите ваш XML-фид в SQL Server и обрабатывайте там эти XML-данные в реляционные данные (довольно хорошо работает с поддержкой XQuery), но вы, похоже, предпочитаете делать это на клиенте, в вашем .NET-приложении.* В этом случае, я бы, вероятно, сделал что-то подобное (не зная подробностей о вашем сценарии, это должно быть довольно расплывчато ...):

  • захватить список интересных узлов с помощьюполезные данные из XML-канала
  • определяют DataTable со всеми столбцами, которые вы хотите хранить / обрабатывать / использовать для своих обновлений
  • превращать каждый узел XML в строку в этомпамяти DataTable и заполните значения
  • , когда вы закончите итерацию по узлам XML, массово вставьте DataTable в промежуточную таблицу на вашем SQL Server
  • имеет SQLулицаВ ходе процедуры или хранимой процедуры обновите исходные данные клиента из этих данных в промежуточной таблице
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...