Как вставить содержимое большого файла XML в таблицы в SQL Server 2005? - PullRequest
0 голосов
/ 15 декабря 2009

Мне нужно вставить содержимое xml-файла размером 350 Мб в таблицы в SQL Server 2005.

Как вставить?

Я пытался использовать массовую вставку, но из-за нехватки памяти.

Пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 15 декабря 2009

Взгляните на этот пример http://msdn.microsoft.com/en-us/library/ms191184(SQL.90).aspx

Вы можете попробовать использовать OPENROWSET

INSERT INTO T(XmlCol)
SELECT * FROM OPENROWSET(
   BULK 'c:\SampleFolder\SampleData3.txt',
   SINGLE_BLOB) AS x
0 голосов
/ 15 декабря 2009

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

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

0 голосов
/ 15 декабря 2009

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

Другой вариант - посмотреть на DTS или SSIS. Не уверен, насколько хорошо они справляются с XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...