powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Средствами Oracle выгрузка результата запроса в CSV файл
25 сообщений из 43, страница 1 из 2
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381064
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

По работе потребовалось выгружать результаты запросов из Oracle базы в csv файл.
Я не мог себе представить, что это не так просто сделать средствами Oracle с командной строки

У меня есть query.sql который содержит нужны мне запрос.
Требуется написать .bat-ник который вызовет sqlplus и выгрузит результат запроса (query.sql) в csv файл.
При этом
1) текст SQL запроса нельзя модифицировать
2) при выгрузке имена столбцов не должны обрезаться
3) столбцы не должны дополняться табами или пробелами

Нужен классический csv файл с разделителями (например - |).

Возможно ли создать такой бат файл, который выполнит эту задачу на пятерку с учетом трех последних пунктов?
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381067
Testor1, возможно ли

Да, возможно...
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381071
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - ЭхTestor1, возможно ли

Да, возможно...

Без шаманства и танцами с бубном ?

Я сделал выгрузку, но столкнулся с теми проблемами что перечислил.
Полазил по интернету и понял, что таких как я множество.

Неужели oracle не создал нормальный юзибл инструмент?
Пишу сюда в надежде, что я ошибаюсь

Можно пример как сделать выгрузку правильно ?
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381088
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Testor1,

Пробуй sqlcl - новый инструмент от оракла
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381275
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный выбор инструмента - половина решения
Если операция разовая, подойдёт любой GUI: SQL Developer, PL/SQL Developer, Toad


Для автоматизации, используют разные подходы:
1) SQL*PLUS скрипты, типа такого:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
set pages 0 line 8192 trimspool on feedback off head off
spool tab.csv
select '"TNAME","TABTYPE","CLUSTERID"' from  dual
union all
select '"'||TNAME||'","'||TABTYPE||'",'||CLUSTERID FROM TAB;
spool off
 



2) пишут пакет для выгрузки на стороне сервера

3) CTAS через внешние таблицы на стороне сервера

4) разные free/самописные програмки, вроде sql2csv

5) XML/XSL преобразования

6) Различные reports средства
7) встроенные средства application servers, и других инструментов, стандартных для данной организации
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381291
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1,

у всех, кому это таки надо, оно дааавно уже есть
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381330
Testor1Нужен классический csv файл с разделителями (например - |).

пайпы - это ни разу не классический. на csv существует вполне себе стандарт

https://tools.ietf.org/html/rfc4180
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381382
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

Вот такого кода хотелось бы избежать

Vadim Lejninselect '"TNAME","TABTYPE","CLUSTERID"' from dual
union all
select '"'||TNAME||'","'||TABTYPE||'",'||CLUSTERID FROM TAB;


У меня есть чистый SQL запрос и дополнительно его модифицировать не хотелось бы. SQL скриптов много и они в стадии разработки и тестирования и каждый раз их дополнительно адаптировать не хотелось бы.

Хотелось бы использовать стандартные инструменты oracle, которые к тому же не использовали бы java.
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381396
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Vadim Lejnin,

Вот такого кода хотелось бы избежать

Vadim Lejninselect '"TNAME","TABTYPE","CLUSTERID"' from dual
union all
select '"'||TNAME||'","'||TABTYPE||'",'||CLUSTERID FROM TAB;


У меня есть чистый SQL запрос и дополнительно его модифицировать не хотелось бы. SQL скриптов много и они в стадии разработки и тестирования и каждый раз их дополнительно адаптировать не хотелось бы.

Хотелось бы использовать стандартные инструменты oracle, которые к тому же не использовали бы java.
На стороне сервера на pl/sql без java есть возможность сделать более-менее универсальный инструмент, который на вход принимает sys_refcursor, разбирает его с помощью dbms_sql и пишет результат в clob/blob/файл. Можно предусмотреть настроечные параметры выходной кодировки, line-terminator, field-separator, признаки включения header-а (т.е. списка с названием полей), квотирования текстовых полей, nls-форматы для дат и чисел, а так же параметры замены, но это можно оставить на потом.
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381397
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Vadim Lejnin,

Вот такого кода хотелось бы избежать

Vadim Lejninselect '"TNAME","TABTYPE","CLUSTERID"' from dual
union all
select '"'||TNAME||'","'||TABTYPE||'",'||CLUSTERID FROM TAB;


У меня есть чистый SQL запрос и дополнительно его модифицировать не хотелось бы. SQL скриптов много и они в стадии разработки и тестирования и каждый раз их дополнительно адаптировать не хотелось бы.

Хотелось бы использовать стандартные инструменты oracle, которые к тому же не использовали бы java.Дык интересно, это одноразовая работа или нет ?
И кроме sqlplus, у вас других средств работать с БД - НЕТ ?
Как-то странно видеть Developer-а, который использует ТОЛЬКО sqlplus.
Лично я использую
sqlplus (для системных работ)
чаще TOAD (как Developer, ну и системные работы)
иногда dbForge
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381422
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир САTestor1Vadim Lejnin,

Вот такого кода хотелось бы избежать

пропущено...


У меня есть чистый SQL запрос и дополнительно его модифицировать не хотелось бы. SQL скриптов много и они в стадии разработки и тестирования и каждый раз их дополнительно адаптировать не хотелось бы.

Хотелось бы использовать стандартные инструменты oracle, которые к тому же не использовали бы java.Дык интересно, это одноразовая работа или нет ?
И кроме sqlplus, у вас других средств работать с БД - НЕТ ?
Как-то странно видеть Developer-а, который использует ТОЛЬКО sqlplus.
Лично я использую
sqlplus (для системных работ)
чаще TOAD (как Developer, ну и системные работы)
иногда dbForge

Глобально работа разовая.
Кол-во выгрузок из разных систем большое.
Хотелось использовать стандартный тулс
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381427
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Владимир САпропущено...
Дык интересно, это одноразовая работа или нет ?
И кроме sqlplus, у вас других средств работать с БД - НЕТ ?
Как-то странно видеть Developer-а, который использует ТОЛЬКО sqlplus.
Лично я использую
sqlplus (для системных работ)
чаще TOAD (как Developer, ну и системные работы)
иногда dbForge

Глобально работа разовая.
Кол-во выгрузок из разных систем большое.
Хотелось использовать стандартный тулс
Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все...
Думаю и в других приблудах тоже самое...
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381446
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир САTestor1пропущено...


Глобально работа разовая.
Кол-во выгрузок из разных систем большое.
Хотелось использовать стандартный тулс
Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все...
Думаю и в других приблудах тоже самое...

В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100, то лучше использовать батник
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381451
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Владимир САпропущено...

Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все...
Думаю и в других приблудах тоже самое...

В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100, то лучше использовать батникТогда (как вариант), написать программулину, которая анализирует результат запроса и соответственно пишет в CSV-файл...
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381461
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1Владимир САпропущено...

Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все...
Думаю и в других приблудах тоже самое...

В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100 , то лучше использовать батник

лучше 100 юаней используйте (просто найдите того, кто распрямит вам мозг)

кстати, и у меня в профиле есть ссылка на совтину, где тупо, есть кнопка.. (бэз юаней)
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381466
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100, то лучше использовать батникТ.е. все таки у тебя не одноразовая работа...
Т.к., как я понял, более 100 запросов... но запросы то все равно разные.
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381470
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishкстати, и у меня в профиле есть ссылка на совтину, где тупо, есть кнопка.. (бэз юаней)Я кстати пробовал как-то запустить ее у себя на десятой винде x64, сходу не взлетело.
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381481
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Oracle SQL Developer пробовали... ОН бесплатный...
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381487
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadorawishкстати, и у меня в профиле есть ссылка на совтину, где тупо, есть кнопка.. (бэз юаней)Я кстати пробовал как-то запустить ее у себя на десятой винде x64, сходу не взлетело.
вполне совместимо
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381494
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishAmKadпропущено...
Я кстати пробовал как-то запустить ее у себя на десятой винде x64, сходу не взлетело.
вполне совместимоОк. На досуге попробую еще, поковыряюсь основательнее.
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381501
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKadorawishпропущено...

вполне совместимоОк. На досуге попробую еще, поковыряюсь основательнее.
будут вопросы - не стесняйтесь..
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381511
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orawish,

Если честно, я свято верил что у Oracle есть инструмент аналогичный microsoft bcp, но правда оказалась не очень приятной.
Oracle и тут смог показать себя с самой лучшей стороны
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381520
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Testor1orawish,

Если честно, я свято верил что у Oracle есть инструмент аналогичный microsoft bcp , но правда оказалась не очень приятной.
Oracle и тут смог показать себя с самой лучшей стороны
ай, бросьте ..
пошуршите юанями и к вам в очередь набегут желающие изваять
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381540
Помогу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Testor1, сделаю механизм генерации csv-файлов на pl/sql.

sqlhelper2@gmail.com
...
Рейтинг: 0 / 0
Средствами Oracle выгрузка результата запроса в CSV файл
    #39381568
Testor1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПомогуTestor1, сделаю механизм генерации csv-файлов на pl/sql.

sqlhelper2@gmail.com

Да я могу написать сам скрипт php, phyton, powershell или программку на c# и т.д.
Вопрос разве на 2017 год у оракла нет до сих пор простой утилиты похожей на bcp, чтобы не шаманить с бубном?
Почему нельзя просто использовать готовый тулс от вендора.
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Средствами Oracle выгрузка результата запроса в CSV файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]