Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

oracle 11 - wynik do pliku csv

34 views
Skip to first unread message

goo-...@ciach.net

unread,
Feb 28, 2019, 7:13:58 AM2/28/19
to
Czy jest jakiś sposób, żeby wynik zapytania zapisać do pliku CSV - ale w taki najprostszy sposób, bez żadnego formatowania, bez uzupełniania pól spacjami, bez wyszczególniania pól w select itp.?
Czyli np. taki SQL: "select * from tabela" da mi plik:

kolumna1,kolumna2,kolumna3
wartosc1,123,qwe
wart2,432,poi

geos

unread,
Feb 28, 2019, 8:04:22 AM2/28/19
to
i tak, i nie. select zwróci wyniki do programu klienta, ale aby to
poleciało do pliku to zależy od ustawień. niektóre mają opcję
eksportowania jako jedną z funkcjonalności. w sqlplus możesz SQLa
"obudować" poleceniami sqlplus i wtedy wynik zapytania wyląduje w pliku.
pierwszy lepszy przykład z internetów jak to zrobić:

https://chartio.com/resources/tutorials/how-to-write-to-a-csv-file-using-oracle-sql-plus/

pozdrawiam
geos

goo-...@ciach.net

unread,
Feb 28, 2019, 8:44:04 AM2/28/19
to
W dniu czwartek, 28 lutego 2019 14:04:22 UTC+1 użytkownik geos napisał:
> i tak, i nie. select zwróci wyniki do programu klienta, ale aby to
> poleciało do pliku to zależy od ustawień. niektóre mają opcję
> eksportowania jako jedną z funkcjonalności. w sqlplus możesz SQLa
> "obudować" poleceniami sqlplus i wtedy wynik zapytania wyląduje w pliku.
nie dopisałem - ale chciałbym to zrobić w ramach skryptu uruchamianego przez sqlplus wprost na serwerze
> pierwszy lepszy przykład z internetów jak to zrobić:
> https://chartio.com/resources/tutorials/how-to-write-to-a-csv-file-using-oracle-sql-plus/

Przed opublikowaniem pytania sprawdziłem kilkanaście "pierwszych lepszych przykładów z internetu" ;-) Żaden nie dał oczekiwanego przeze mnie rezultatu. Np. wszystkie sprawdzone przeze mnie sposoby dawały wyniki w kolumnach o stałym rozmiarze, czyli krótsze wartości były uzupełniane spacjami. Czytelnie to wygląda przy podglądzie, ale tego nie chcę. Zdarzało się, że np. nazwy kolumn były skracane itp. itd.
Zadałem tu pytanie, bo wydawało mi się, że taka dosyć elementarna czynność powinna być łatwo osiągalna a tylko ja nie umiem znaleźć rozwiązania. Ale chyba w Oracle 11 tak nie jest... W Oracle 12 chyba jest, no ale mam 11 :)

Paulina

unread,
Aug 5, 2019, 5:49:06 AM8/5/19
to
Wątek już stary, ale może na przyszłośc komuś się przyda.
Zamiast sqlplusa mozna zainstalować innego klienta - SQLcl. Jest to niewielkie oprogramowanie, wymaga javy jedynie, a działa jak sqlplus, no i ma dodatkowe "ficzery" jak formatowanie wyników zapytania w postaci csv, html etc. Warto się przyjrzeć - tu ładnie opisane
https://oracle-base.com/articles/misc/sqlcl-format-query-results-with-the-set-sqlformat-command
0 new messages