Я использую последнюю версию DBeaver на Mac, запрашиваю удаленную базу данных MSSQL, и у меня есть запрос, который приводит к 24 миллионам строк. Мне нужно перевести эти данные в формат CSV, но вместо одного огромного, неуправляемого файла с 24 миллионами строк я хотел бы получить серию файлов, каждый из которых содержит меньшее количество строк.

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

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

Я попытался с циклом WHILE, и это дало мне разные наборы результатов на разных вкладках (как и ожидалось), но при запуске его через Экспорт из запроса, он все равно оказывается в одном файле.

Если это невозможно сделать на клиенте DBeaver, знает ли кто-нибудь о клиенте, который будет поддерживать это? Это кажется довольно простым - управление размером CSV-файлов. В настоящее время мне нужно перезапустить запрос, экспортировать в другой файл и разбить данные на части с помощью OFFSET/FETCH ROWS. Это утомительно, но я могу сделать это, если это мой единственный выход.

0