Недостаточно памяти с Delphi ClientDataSet.SaveToFile

Мне нужно сгенерировать файл XML из таблицы с 500 000 строк и 200 столбцов, используя Firedac Query и ClientDataSet для записи ClientDataSet.SaveToFile.

ClientDataSet.Close;
Query.Sql.Clear;
Query.Sql.Add ("Select * from something");
ClientDataSet.Open;
ClientDataSet.SaveToFile("destination_folder.xml");

Но для сохранения файла с помощью SaveToFile возникает ошибка недостаточной памяти.

Как мне сохранить этот файл? Есть ли способ записать в несколько файлов уже загруженный ClientDataSet?

С наилучшими пожеланиями.


person Leonardo Gregianin    schedule 10.03.2016    source источник
comment
стандартные cds/midas не были рассчитаны на такое количество записей. разве вы не можете вообще избежать использования компакт-дисков в своем сценарии? Вам действительно нужен этот пакет данных, сохраненный в формате midas xml?   -  person vavan    schedule 11.03.2016
comment
Мне нужно записать файл XML в формате записи ClientDataSet.   -  person Leonardo Gregianin    schedule 11.03.2016
comment
Боюсь, не переписав его внутренности, вы не сможете преодолеть присущие ему проблемы. другой идеей было бы вручную создать этот файл с вашим собственным кодом, вы можете увидеть stackoverflow.com/questions/492198/   -  person vavan    schedule 14.03.2016
comment
Спасибо за ваш комментарий @vavan.   -  person Leonardo Gregianin    schedule 16.03.2016