Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Добрый день
Мне необходимо сформировать и выгрузить в файл XML большого обьема. Более 2gb.
Запрос сам написан по средством for xml(path).

При выгрузке падает с ошибкой, что файл слишком большого обьема. Превышен размер в 2 гига.
Пробовал делать средствами SSIS.

Могли бы вы помочь с решением данной проблемы проблемы. Как мне выгрузить такой объем.
19 мар 15, 08:53    [17403330]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
При выгрузке падает с ошибкой, что файл слишком большого обьема.

Полное сообщение приведите

XMLToTable
Пробовал делать средствами SSIS.

И что именно вы пробовали ?
19 мар 15, 09:07    [17403372]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,

Полное сообщение

[OLE DB Source [9]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E14.
An OLE DB record is available.  Source: "Microsoft SQL Server Native Client 11.0"  Hresult: 0x80040E14  Description: "An XML operation resulted an XML data type exceeding 2GB in size. Operation aborted.".



Использовал компонент Ole DB Source. Данные брал на основание своего запроса. И после забирания данных должен был вставить в XML файл.
На небольших объемах все хорошо, проблемы возникают на большом количестве данных
19 мар 15, 09:26    [17403431]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
Полное сообщение

Здесь не про файл. Здесь про результат XML operation
19 мар 15, 09:28    [17403436]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,
Да, вы правы. Неверное выразился.

Падает именно с этой ошибкой.
19 мар 15, 09:29    [17403445]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
Падает именно с этой ошибкой.

https://msdn.microsoft.com/en-us/library/ms187339.aspx
The stored representation of xml data type instances cannot exceed 2 gigabytes (GB) in size.
19 мар 15, 09:32    [17403464]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,
Да, это я уже понял.
А есть ли способы обойти данную проблему? Или выполнить мою задачу другими средствами?
19 мар 15, 09:41    [17403520]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
А есть ли способы обойти данную проблему?

Формировать xml меньшего размера
19 мар 15, 09:47    [17403568]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,
А возможно как-то сгенерить XML меньшего объема. Положить их в БД, а потом из них собрать единую XML уже большого объема?
19 мар 15, 10:03    [17403669]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
а потом из них собрать единую XML

Собрать в какой тип данных ? Опять в xml data type, который cannot exceed 2 gigabytes (GB) in size ?
19 мар 15, 10:06    [17403692]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,
Логично.
Глори, а вообще есть какой-то способ, как решить данную задачу. У меня есть таблица на вход, мне нужно сформировать по ней XML файл в каком-нибудь репозитории.
19 мар 15, 10:10    [17403719]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
У меня есть таблица на вход, мне нужно сформировать по ней XML файл в каком-нибудь репозитории.

Пишите програмку, которя читает построчно таблицу и для каждой строки формирует что-то в выходной файл
19 мар 15, 10:14    [17403736]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,
Печально, а я хотел обойтись только средствами SQL Server.
19 мар 15, 10:19    [17403766]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
Glory
Member

Откуда:
Сообщений: 104751
XMLToTable
Печально, а я хотел обойтись только средствами SQL Server.

Можете и средствами SQL Server. Только сложнее выйдет.
Напишите запрос вида
select '<root>'
union all
select '< f1=' +str(f1) +'/>' from mytable
union all
select '</root>'
и выгружайте его в файл
19 мар 15, 10:22    [17403787]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузка огромного xml файла  [new]
XMLToTable
Guest
Glory,
Спасибо, сейчас реализовал этот метод.
На тестовом пример все отработало, буду сейчас тестировать на основном потоке данных.
19 мар 15, 13:13    [17404967]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить