Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 import large xml  [new]
Newbie123
Guest
Добрый вечер всем, есть задача ипортнуть информацию из 14 гигового xml файла в сиквел. Через openxml получается импортировать только маленькие файлы, т.е. больше двух гб в переменную xml не влезет. Поэтому подумал сделать через bcp с разделителем строк символа зкрытия тэга "/>". Вся проблема в том, что эта xml находится в формате utf-8, в который сиквел не может. при указании в файле форматирования SQLCHAR или SQLNCHAR, понятное дело, получаю левые символы (русский в хмл присутствует).

ПОдскажите, пожалуйста, можно ли обойтись без SSIS в этом деле?
10 сен 15, 01:52    [18130746]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7604
FileTables ?
10 сен 15, 02:18    [18130753]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
Glory
Member

Откуда:
Сообщений: 104751
Newbie123
ПОдскажите, пожалуйста, можно ли обойтись без SSIS в этом деле?

Использовать любой другой парсер
XmlBulkLoad, например
10 сен 15, 08:13    [18130893]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4902
Newbie123,
А грузануть его в BLOB (NVARCHAR(MAX)) и потом распарзить -- памяти не хватит?
10 сен 15, 14:10    [18132821]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
Jovanny
Member

Откуда:
Сообщений: 1196
a_voronin
Newbie123,
А грузануть его в BLOB (NVARCHAR(MAX)) и потом распарзить -- памяти не хватит?

Не, максимальный размер nvarchar(max) - 2 Гб. )
10 сен 15, 14:19    [18132876]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Newbie123
ПОдскажите, пожалуйста, можно ли обойтись без SSIS в этом деле?

Можно - используя Pentaho Kettle (PDI) :-)
- а в нем [Get XML Data] с настроенным [Prune path to handle large files]
- или [XML Input Stream (StAX)] - этот читает XML как поток и генерит события. Сложнее в обработке, но дико быстро для любых объемов
10 сен 15, 14:21    [18132891]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
Newbie123
Добрый вечер всем, есть задача ипортнуть информацию из 14 гигового xml файла в сиквел.


пишите своё приложение, которое будет читать такие файлы с помощью SAX ( Simple API for XML ), а потом порциями передавать на SQL server
10 сен 15, 14:22    [18132896]     Ответить | Цитировать Сообщить модератору
 Re: import large xml  [new]
Yuri Abele
Member

Откуда: Латвия> Литва > Тольятти > Wiesbaden > Karlsruhe
Сообщений: 1661
Yuri Abele
- или [XML Input Stream (StAX)] - этот читает XML как поток и генерит события. Сложнее в обработке, но дико быстро для любых объемов

Выглядит вот так:
Картинка с другого сайта.
10 сен 15, 14:23    [18132906]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить