Лучшие практики для разбора XML и его хранения в базе данных SQL Server - PullRequest
1 голос
/ 13 декабря 2011

Я работаю с решением, в котором обработчик http получает куски XML.Эти чанки должны быть проанализированы и сопоставлены с моделью базы данных SQL Server.

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

Каковы были бы плюсы и минусы этих двух подходов?

Должен ли я сделатьсинтаксический анализ в обработчике или это должно быть сделано асинхронно?

1 Ответ

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

Вы можете создать это несколькими способами.

1) (я бы предпочел) Создать парсер C # и загрузить данные в базу данных с помощью массовой вставки (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx). Пример здесь http://www.codeproject.com/KB/database/SqlBulkCopy.aspx. Основным преимуществом этого подхода является полное управление загрузкой.

2) Службы интеграции SQL Server. Основным преимуществом является его скорость.

Ты должен подумать, чего ты хочешь достичь. Если вам нужно загрузить его очень быстро, вы должны использовать SSIS, если вам нужна идеальная гибкость и расширенные функции, используйте подход C #.

...