Подключение к огромной базе данных CSV.

30.04.2017

Не так давно в FastReport .NET была добавлена возможность загружать данные из csv-файла. Иными словами, файл в формате CSV теперь можно использовать в качестве источника данных.

Спустя какое-то время от одного из пользователей поступил интересный запрос в техподдержку. Он утверждал, что у него есть CSV файл который не открывается, вместо этого появляется сообщение об ошибке. Пользователь любезно предоставил этот файл для тестирования.

При первом взгляде возникла мысль - файл слишком большой, это и является причиной того, что он не открывается. Но при дальнейшем изучении выяснилось, что проблема не в размере файла. Как оказалось, файл не совсем соответствует спецификации CSV. В файле встречаются строки, не содержащие разделителей. Судя по всему, они используются в качестве комментариев, при этом никаких данных в себе не несут.

Было принято решение  игнорировать подобные строки при загрузке данных. В результате файл стал загружаться без проблем.

Казалось бы, проблема решена и можно успокоиться, но не давала покоя идея о большом csv-файле. После недолгих поисков был найден действительно огромный файл. Размер этого файла 441 мегабайт, казалось бы - не очень внушительно, но, тем не менее, это 31 столбец и 2 458 525 строк.

Тестирование загрузки этого файла принесло двоякие результаты. С одной стороны, файл открывался, что несомненно радовало. Но очень печалило то, что на загрузку файла уходило без малого полчаса.

Как известно путей решения этой проблемы два. Но покупать новый компьютер как-то не хотелось. Поэтому пришлось потратить некоторое время на оптимизацию кода. В результате удалось добиться загрузки файла в течение двух минут.

.NET FastReport CSV .NET FastReport CSV
30 мая 2025

Открываем файлы с расширением FP3 с помощью МоиОтчеты Вьювер

МоиОтчеты Вьювер — идеальное решение для работы с файлами FP3. Он позволяет легко открывать, просматривать, печатать и экспортировать отчёты.
21 апреля 2025

Как работают RFID-метки в FastReport VCL

В этой статье мы рассмотрим принцип работы RFID-меток с новым объектом TfrxDeviceCommand в FastReport VCL с релизом 2025.2.
21 апреля 2025

Работа с компонентом TfrShellTreeView в FastReport VCL

В данной статье мы рассмотрим компонент TfrShellTreeView. Он предназначен для отображения элементов файловой системы и частично является аналогом компонентов TDirectoryListBox, TDirectoryOutline и TShellTreeView.