Оракловые чудеса

User avatar
Uzito
Уже с Приветом
Posts: 8239
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Оракловые чудеса

Post by Uzito »

KVA wrote: 03 May 2019 16:37 Даже если Оракл позволяет пропустить group by странно что выдалась строка. Вот такой эквивалент в MS SQL server выдает пустой результат.
Этот код тоже выдает 0 rows в оракле. Разница в том, что group by есть или нет в конце.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Оракловые чудеса

Post by Мальчик-Одуванчик »

Lazy444 wrote: 06 May 2019 20:02 Еще ни разу не встретил погроммиста, который бы признал, что он чего то не знает. Все "Билли виноват". Или Линус ( который Торвальд). Или Ларри :D
Что странно - даже Страуструп признавал что он очень многого не знает из придуманного им языка С++.
deev_a_v
Уже с Приветом
Posts: 4667
Joined: 07 Apr 2018 15:16

Re: Оракловые чудеса

Post by deev_a_v »

Lazy444 wrote: 06 May 2019 20:02 Еще ни разу не встретил погроммиста, который бы признал, что он чего то не знает. Все "Билли виноват". Или Линус ( который Торвальд). Или Ларри :D
Ага. Сколько я видел начинающих, которые с ходу находили баги в MS SQL Server :D
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Оракловые чудеса

Post by Мальчик-Одуванчик »

Lazy444 wrote: 06 May 2019 23:30
Мальчик-Одуванчик wrote: 06 May 2019 20:06
Lazy444 wrote: 06 May 2019 20:02 Еще ни разу не встретил погроммиста, который бы признал, что он чего то не знает. Все "Билли виноват". Или Линус ( который Торвальд). Или Ларри :D
Что странно - даже Страуструп признавал что он очень многого не знает из придуманного им языка С++.
Эффект Да́ннинга — Крю́гера — метакогнитивное искажение, которое заключается в том, что люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации[1]. Это приводит к возникновению у них завышенных представлений о собственных способностях, в то время как действительно высококвалифицированные люди, наоборот, склонны занижать оценку своих способностей и страдать недостаточной уверенностью в своих силах, считая других более компетентными. Таким образом, менее компетентные люди в целом имеют более высокое мнение о собственных способностях, чем это свойственно людям компетентным (которые к тому же склонны предполагать, что окружающие оценивают их способности так же низко, как и они сами). Также люди с высоким уровнем квалификации ошибочно полагают, что задачи, которые для них легки, также легки и для других людей
То есть, судя по приведенной ссылке, Вам встречались исключительно низкоквалифицированные программисты?
User avatar
ALV00
Уже с Приветом
Posts: 1494
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Оракловые чудеса

Post by ALV00 »

Вот еще проблема: нужно тупо скинуть таблицу в CSV файл на локальном диске. Exp делает что-то неожиданно странное, вроде бэкапа, причем пишет в файл на сервере, куда у меня и доступа нет. В оракле походу нет готовой утилиты для такой элементарщины. Как ораклисты выкручиваются, пишут каждый раз программу что ли?
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: Оракловые чудеса

Post by iDesperado »

ALV00 wrote: 30 May 2019 14:42 Вот еще проблема: нужно тупо скинуть таблицу в CSV файл на локальном диске. Exp делает что-то неожиданно странное, вроде бэкапа, причем пишет в файл на сервере, куда у меня и доступа нет. В оракле походу нет готовой утилиты для такой элементарщины. Как ораклисты выкручиваются, пишут каждый раз программу что ли?
любой ide сохраняет хоть в csv, хоть ёксель
User avatar
Helmsman
Уже с Приветом
Posts: 6449
Joined: 15 May 2003 00:04
Location: LA

Re: Оракловые чудеса

Post by Helmsman »

ALV00 wrote: 30 May 2019 14:42 Вот еще проблема: нужно тупо скинуть таблицу в CSV файл на локальном диске. Exp делает что-то неожиданно странное, вроде бэкапа, причем пишет в файл на сервере, куда у меня и доступа нет. В оракле походу нет готовой утилиты для такой элементарщины. Как ораклисты выкручиваются, пишут каждый раз программу что ли?
Утилита есть, sqlplus называется. Глушим заголовки и ставим запятую разделителем, потом просто select * from table со spool-ом. Но если к серверу доступа нет, то, как выше написали, любой ide - toad, sql developer, pl/sql developer.
exp тут не годится, у него свой формат.
User avatar
ALV00
Уже с Приветом
Posts: 1494
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Оракловые чудеса

Post by ALV00 »

iDesperado wrote: 30 May 2019 15:46 любой ide сохраняет хоть в csv, хоть ёксель
Хотелось бы запускать из командной строки, для автоматизации.
Helmsman wrote: 30 May 2019 16:08 Утилита есть, sqlplus называется. Глушим заголовки и ставим запятую разделителем, потом просто select * from table со spool-ом. Но если к серверу доступа нет, то, как выше написали, любой ide - toad, sql developer, pl/sql developer.
exp тут не годится, у него свой формат.
Криво выходит, ой криво. Для печати кое-как годится, для обмена данными нет. Лезет всякая грязь, varchar выводятся fixed size с пробелами.
Unusable :sadcry:
mskmel
Уже с Приветом
Posts: 946
Joined: 24 Sep 2013 05:58
Location: US\GA

Re: Оракловые чудеса

Post by mskmel »

CSV в 2019м по любому криво.
Если по прежнему очень надо, то https://www.oracle.com/database/technol ... sqlcl.html . Он может в ещё нескольких форматах https://oracle-base.com/articles/misc/s ... at-command
iDesperado
Уже с Приветом
Posts: 1349
Joined: 28 Nov 2008 17:50

Re: Оракловые чудеса

Post by iDesperado »

ALV00 wrote: 30 May 2019 19:13
iDesperado wrote: 30 May 2019 15:46 любой ide сохраняет хоть в csv, хоть ёксель
Хотелось бы запускать из командной строки, для автоматизации.
ну тогда тут программист нужен. для автоматизации программисты действительно "пишут каждый раз программу".
User avatar
Helmsman
Уже с Приветом
Posts: 6449
Joined: 15 May 2003 00:04
Location: LA

Re: Оракловые чудеса

Post by Helmsman »

ALV00 wrote: 30 May 2019 19:13 Криво выходит, ой криво. Для печати кое-как годится, для обмена данными нет. Лезет всякая грязь, varchar выводятся fixed size с пробелами.
Unusable :sadcry:
Хмм, откуда грязь? Посмотрел свои старые скрипты, там разве что вместо * поля перечислены. Всё работает как надо, символьные поля таки с пробелами, но если уж все поля перечислять, можно и trim() добавить. Вот список параметров для sqlplus:
set head off
set pages 100
set lines 300
set colsep ','
set tab off
set echo off
set feedback off
set term off
set serveroutput on
SET VERIFY OFF

У нас это дело создаёт csv, который засылается на другой сервер и грузится в ёксель.
User avatar
ALV00
Уже с Приветом
Posts: 1494
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Оракловые чудеса

Post by ALV00 »

За sqlcl спасибо, конечно... Но все же эти ребята остались верными себе. Допилили sqlplus, добавили форматирование, молодцы. Но опять вышла вещь-в-себе ни на что не похожая. Почему я не могу запустить в нем скрипт, не заходя внутрь? Абсолютно все CLP, которые я знаю, имеют такую возможность. Мне не надо на экран, мне надо только в файл. В результате, пол-дня борьбы, задача так и не решена. Palmface...
User avatar
ALV00
Уже с Приветом
Posts: 1494
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Оракловые чудеса

Post by ALV00 »

Helmsman wrote: 31 May 2019 16:36 Всё работает как надо, символьные поля таки с пробелами, но если уж все поля перечислять, можно и trim() добавить.
Да, если добавить trim() и конкатенацию кавычек, то получается вполне.
В SQLCL есть правильное CSV форматирование, но см. выше.
User avatar
ALV00
Уже с Приветом
Posts: 1494
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Оракловые чудеса

Post by ALV00 »

Победа разума.

sql.exe -S <login> @script.sql > NUL

script.sql:

set sqlformat csv
set feedback off
spool file.csv
select * from ...;
spool off
exit
Easbayguy
Уже с Приветом
Posts: 10632
Joined: 17 Jul 2003 22:11

Re: Оракловые чудеса

Post by Easbayguy »

Чисто из спортивного любопытства, а что python уже отменили?
Пх'нглуи мглв'нафх Ктулху Р'лайх угахнагл фхтагн
User avatar
ALV00
Уже с Приветом
Posts: 1494
Joined: 08 Mar 2002 10:01
Location: NJ

Re: Оракловые чудеса

Post by ALV00 »

Easbayguy wrote: 31 May 2019 18:59 Чисто из спортивного любопытства, а что python уже отменили?
А что в нем есть особенного? Написать программу, которая вытягивает данные с базы и распечатывает, можно на чем угодно.

Return to “Вопросы и новости IT”