|
|
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Всем привет! По работе потребовалось выгружать результаты запросов из Oracle базы в csv файл. Я не мог себе представить, что это не так просто сделать средствами Oracle с командной строки У меня есть query.sql который содержит нужны мне запрос. Требуется написать .bat-ник который вызовет sqlplus и выгрузит результат запроса (query.sql) в csv файл. При этом 1) текст SQL запроса нельзя модифицировать 2) при выгрузке имена столбцов не должны обрезаться 3) столбцы не должны дополняться табами или пробелами Нужен классический csv файл с разделителями (например - |). Возможно ли создать такой бат файл, который выполнит эту задачу на пятерку с учетом трех последних пунктов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 19:42 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1, возможно ли Да, возможно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 19:45 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхTestor1, возможно ли Да, возможно... Без шаманства и танцами с бубном ? Я сделал выгрузку, но столкнулся с теми проблемами что перечислил. Полазил по интернету и понял, что таких как я множество. Неужели oracle не создал нормальный юзибл инструмент? Пишу сюда в надежде, что я ошибаюсь Можно пример как сделать выгрузку правильно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 20:04 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1, Пробуй sqlcl - новый инструмент от оракла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2017, 20:50 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Правильный выбор инструмента - половина решения Если операция разовая, подойдёт любой GUI: SQL Developer, PL/SQL Developer, Toad Для автоматизации, используют разные подходы: 1) SQL*PLUS скрипты, типа такого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 2) пишут пакет для выгрузки на стороне сервера 3) CTAS через внешние таблицы на стороне сервера 4) разные free/самописные програмки, вроде sql2csv 5) XML/XSL преобразования 6) Различные reports средства 7) встроенные средства application servers, и других инструментов, стандартных для данной организации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 10:58 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1, у всех, кому это таки надо, оно дааавно уже есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 11:18 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1Нужен классический csv файл с разделителями (например - |). пайпы - это ни разу не классический. на csv существует вполне себе стандарт https://tools.ietf.org/html/rfc4180 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 11:50 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, Вот такого кода хотелось бы избежать Vadim Lejninselect '"TNAME","TABTYPE","CLUSTERID"' from dual union all select '"'||TNAME||'","'||TABTYPE||'",'||CLUSTERID FROM TAB; У меня есть чистый SQL запрос и дополнительно его модифицировать не хотелось бы. SQL скриптов много и они в стадии разработки и тестирования и каждый раз их дополнительно адаптировать не хотелось бы. Хотелось бы использовать стандартные инструменты oracle, которые к тому же не использовали бы java. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 12:45 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
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-форматы для дат и чисел, а так же параметры замены, но это можно оставить на потом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 12:59 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:00 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Владимир САTestor1Vadim Lejnin, Вот такого кода хотелось бы избежать пропущено... У меня есть чистый SQL запрос и дополнительно его модифицировать не хотелось бы. SQL скриптов много и они в стадии разработки и тестирования и каждый раз их дополнительно адаптировать не хотелось бы. Хотелось бы использовать стандартные инструменты oracle, которые к тому же не использовали бы java.Дык интересно, это одноразовая работа или нет ? И кроме sqlplus, у вас других средств работать с БД - НЕТ ? Как-то странно видеть Developer-а, который использует ТОЛЬКО sqlplus. Лично я использую sqlplus (для системных работ) чаще TOAD (как Developer, ну и системные работы) иногда dbForge Глобально работа разовая. Кол-во выгрузок из разных систем большое. Хотелось использовать стандартный тулс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:14 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1Владимир САпропущено... Дык интересно, это одноразовая работа или нет ? И кроме sqlplus, у вас других средств работать с БД - НЕТ ? Как-то странно видеть Developer-а, который использует ТОЛЬКО sqlplus. Лично я использую sqlplus (для системных работ) чаще TOAD (как Developer, ну и системные работы) иногда dbForge Глобально работа разовая. Кол-во выгрузок из разных систем большое. Хотелось использовать стандартный тулс Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все... Думаю и в других приблудах тоже самое... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:19 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Владимир САTestor1пропущено... Глобально работа разовая. Кол-во выгрузок из разных систем большое. Хотелось использовать стандартный тулс Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все... Думаю и в других приблудах тоже самое... В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100, то лучше использовать батник ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:35 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1Владимир САпропущено... Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все... Думаю и в других приблудах тоже самое... В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100, то лучше использовать батникТогда (как вариант), написать программулину, которая анализирует результат запроса и соответственно пишет в CSV-файл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:40 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1Владимир САпропущено... Например в TOADе, все за тебя придумали... Делаешь запрос... результаты в файл, только опции выставить один раз и все... Думаю и в других приблудах тоже самое... В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100 , то лучше использовать батник лучше 100 юаней используйте (просто найдите того, кто распрямит вам мозг) кстати, и у меня в профиле есть ссылка на совтину, где тупо, есть кнопка.. (бэз юаней) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:51 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1В PL/SQL developer есть тоже аналогичный инструмент. Можно MS Import & export Data tools использовать. Для одного запроса - не проблема, но когда кол-во запросов больше 100, то лучше использовать батникТ.е. все таки у тебя не одноразовая работа... Т.к., как я понял, более 100 запросов... но запросы то все равно разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:54 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
orawishкстати, и у меня в профиле есть ссылка на совтину, где тупо, есть кнопка.. (бэз юаней)Я кстати пробовал как-то запустить ее у себя на десятой винде x64, сходу не взлетело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 13:56 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
А Oracle SQL Developer пробовали... ОН бесплатный... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:05 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
AmKadorawishкстати, и у меня в профиле есть ссылка на совтину, где тупо, есть кнопка.. (бэз юаней)Я кстати пробовал как-то запустить ее у себя на десятой винде x64, сходу не взлетело. вполне совместимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:10 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
orawishAmKadпропущено... Я кстати пробовал как-то запустить ее у себя на десятой винде x64, сходу не взлетело. вполне совместимоОк. На досуге попробую еще, поковыряюсь основательнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:12 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
AmKadorawishпропущено... вполне совместимоОк. На досуге попробую еще, поковыряюсь основательнее. будут вопросы - не стесняйтесь.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:16 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
orawish, Если честно, я свято верил что у Oracle есть инструмент аналогичный microsoft bcp, но правда оказалась не очень приятной. Oracle и тут смог показать себя с самой лучшей стороны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:22 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
Testor1orawish, Если честно, я свято верил что у Oracle есть инструмент аналогичный microsoft bcp , но правда оказалась не очень приятной. Oracle и тут смог показать себя с самой лучшей стороны ай, бросьте .. пошуршите юанями и к вам в очередь набегут желающие изваять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:31 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 14:49 |
|
||
|
Средствами Oracle выгрузка результата запроса в CSV файл
|
|||
|---|---|---|---|
|
#18+
ПомогуTestor1, сделаю механизм генерации csv-файлов на pl/sql. sqlhelper2@gmail.com Да я могу написать сам скрипт php, phyton, powershell или программку на c# и т.д. Вопрос разве на 2017 год у оракла нет до сих пор простой утилиты похожей на bcp, чтобы не шаманить с бубном? Почему нельзя просто использовать готовый тулс от вендора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2017, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=52&startmsg=39381064&tid=1886679]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 254ms |
| total: | 536ms |

| 0 / 0 |
