powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Data Studio & DB2/AS400 V7.1
25 сообщений из 65, страница 2 из 3
Data Studio & DB2/AS400 V7.1
    #38723512
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov,

ничего не меняется... проходили много лет назад. Можно использовать нативные процедуры на языках PRG и/или C, логические файлы, OPNQRYFILE и т.д. - строишь программу, регистрируешь её как процедуру и вызываешь когда надо из SQL.
Я всегда считал, что нативные продукты работают быстрее, а SQL к AS/400 был прикручен где-то с версии 3.7 или 4.3, точно не помню. А 5250 - прекрасный инструмент без всякого "мышколожества". STRPDM и вперрррёд с песнями!
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38723515
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

PRG - ошибочка, конечно же RPG!
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38723531
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov
Еще одна печаль - это вынужденное использование динамического SQL... Из-за огромного объема данных часть самых массивных таблиц периодические нарезается на отдельные куски, поквартально, или по году. В итоге заранее никогда не знаешь, где находится нужная тебе запись, по дате определяешь схему, в которой хранятся данные с периодом действия на определенный диапазон дат, пихаешь все это в строку - и вперед.

есть какая команда OVRDBF

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rbam6/ovrbf.htm?lang=en

очень частенько пользовался, только она CL-ная.
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38723606
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsenMikhail.Gurusov,

ничего не меняется... проходили много лет назад. Можно использовать нативные процедуры на языках PRG и/или C, логические файлы, OPNQRYFILE и т.д. - строишь программу, регистрируешь её как процедуру и вызываешь когда надо из SQL.
Я всегда считал, что нативные продукты работают быстрее, а SQL к AS/400 был прикручен где-то с версии 3.7 или 4.3, точно не помню. А 5250 - прекрасный инструмент без всякого "мышколожества". STRPDM и вперрррёд с песнями!

Мышколожество - какой интересный термин, однако... Под этим надо понимать GUI с тыканием мышой? Сам предпочитаю работать по максимуму с клавиатурой, безальтернативное использование мыши в некоторых случаях просто раздражает, и командной строки не чураюсь, начинал работать вообще под DOS, такие файлы пакетные рисовал, что щас наверное сам не повторил бы, и с Novell пришлось в свое время покувыркаться. Но нормальный редактор с GUI для меня все-таки предпочтительнее, чем терминал. Нет никакого желания переключать внимание с задач бизнеса на какую-то техническую хрень.

Еще умиляет ограничение на ширину кода в 80 символов в QSQLSRC. Хотя я и настраиваю форматер кода так, чтобы не было этих длинных хвостов, само по себе ограничение какое-то нелепое...
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38723610
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsenMikhail.GurusovЕще одна печаль - это вынужденное использование динамического SQL... Из-за огромного объема данных часть самых массивных таблиц периодические нарезается на отдельные куски, поквартально, или по году. В итоге заранее никогда не знаешь, где находится нужная тебе запись, по дате определяешь схему, в которой хранятся данные с периодом действия на определенный диапазон дат, пихаешь все это в строку - и вперед.

есть какая команда OVRDBF

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rbam6/ovrbf.htm?lang=en

очень частенько пользовался, только она CL-ная.

Не, такое вообще неприменимо... Все должно работать без дополнительных вмешательств, пользователь задал параметры - получил отчет, и ему до синей лампочки, в каком там файле находятся интересующие его данные, в текущем, или архивном.
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38723638
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

Скажите, пожалуйста, а с партиционированием иметь дела не приходилось? Есть какие-то противопоказания в данной СУБД, объем данных предельный, например?
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38723933
noMAX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov, в IBM i 7.1 начиная с 26 уровня группы фиксов к DB2 можно вызывать CL команды прямо из SQL:

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM i Technology Updates/page/QSYS2.QCMDEXC() procedure no longer requires a command length
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724038
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noMAXMikhail.Gurusov, в IBM i 7.1 начиная с 26 уровня группы фиксов к DB2 можно вызывать CL команды прямо из SQL:

https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM i Technology Updates/page/QSYS2.QCMDEXC() procedure no longer requires a command length

А вот это уже интересно, спасибо. Из двух зол выбирают меньшее, и этот вариант мне кажется предпочтительнее динамического SQL.
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724055
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusovknudsen,

Скажите, пожалуйста, а с партиционированием иметь дела не приходилось? Есть какие-то противопоказания в данной СУБД, объем данных предельный, например?

Сам не работал с партиционированными табличками на AS/400 (только LUW & z), это достаточно новая "фича" и вот документация -

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/db2/rbafzhctabl.htm?lang=en

Код: sql
1.
2.
3.
4.
  CREATE TABLE FOO
    (A  DATE)
    PARTITION BY RANGE(A)
      (STARTING('2001-01-01') ENDING('2010-01-01') EVERY(3 MONTHS))
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724184
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsenMikhail.Gurusovknudsen,

Скажите, пожалуйста, а с партиционированием иметь дела не приходилось? Есть какие-то противопоказания в данной СУБД, объем данных предельный, например?

Сам не работал с партиционированными табличками на AS/400 (только LUW & z), это достаточно новая "фича" и вот документация -

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/db2/rbafzhctabl.htm?lang=en

Код: sql
1.
2.
3.
4.
  CREATE TABLE FOO
    (A  DATE)
    PARTITION BY RANGE(A)
      (STARTING('2001-01-01') ENDING('2010-01-01') EVERY(3 MONTHS))



Интересно было бы попробовать партиционирование. Может быть его и не использовали, если это относительно новая возможность.

А почему "фича" в кавычках?

PS Надо будет как-нить напроситься к коллегам в Teradata, посмотреть еще и на этого монстра.
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724379
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov,

А что Терадата уже производит AS/400? или купила IBM?
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724430
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

а понял про Терадату...
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724811
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оказывается библиотека и схема - не одно и то же, как мне сказали.
Вот что нашел
http://www.ibm.com/developerworks/ibmi/library/i-sqlnaming/index.html?ca=dat
http://www.ibm.com/developerworks/ibmi/library/i-system_sql2/index.html?ca=drs#_Ref327694950
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724869
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал прототип процедуры с использованием OVRDBF, динамический SQL исключил, но наступил на другие грабли - план запроса убийственный, вместо индекса полное сканирование огромных таблиц... С динамическим SQL такой проблемы не наблюдается, запрос выполняется очень быстро... Охреневаю, дорогая редакция!
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724874
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.GurusovСделал прототип процедуры с использованием OVRDBF, динамический SQL исключил, но наступил на другие грабли - план запроса убийственный, вместо индекса полное сканирование огромных таблиц... С динамическим SQL такой проблемы не наблюдается, запрос выполняется очень быстро... Охреневаю, дорогая редакция!

Разница во времени выполнения катастрофическая, 2 мин против 3 сек! Держите меня 10 мужиков, как такое вообще возможно?!
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724987
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov,

Логические файлы использовать пробовали?
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38724993
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

OVRDBF , всё-таки лучше использовать для программ, а не для хранимок. Что такого в хранимой SQL процедуре, что нельзя сделать на язык ах С, CL, RPG (ILE) ? Ну если исключить скорость написания.
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725024
noMAX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.GurusovMikhail.GurusovСделал прототип процедуры с использованием OVRDBF, динамический SQL исключил, но наступил на другие грабли - план запроса убийственный, вместо индекса полное сканирование огромных таблиц... С динамическим SQL такой проблемы не наблюдается, запрос выполняется очень быстро... Охреневаю, дорогая редакция!

Разница во времени выполнения катастрофическая, 2 мин против 3 сек! Держите меня 10 мужиков, как такое вообще возможно?!

В IBM i наличествует два движка выполнения запросов. У вас, похоже, именно такой случай.
По следующей ссылке дается описание того, как можно рулить этими вариантами:

http://www-01.ibm.com/support/docview.wss?uid=nas8N1018857
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725214
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsenknudsen,

OVRDBF , всё-таки лучше использовать для программ, а не для хранимок. Что такого в хранимой SQL процедуре, что нельзя сделать на язык ах С, CL, RPG (ILE) ? Ну если исключить скорость написания.

Если бы стояла задача обработки по одной записи - может быть имело бы смысл заморочиться с изучением этих языков. Но такой задачи не стоит, нужна обработка больших массивов данных, и лучше SQL для этого еще ничего не придумали, имхо. Все процедуры для существующих отчетов уже написаны на SQL, требование к новым отчетам - тоже только SQL, поскольку потом это кому-то придется сопровождать, а людей, даже просто знающих что такое CL и RPG - раз, два, и обчелся. Я сам впервые об этих языках услышал, да и времени на их изучение никто не даст - необходимо в срочном порядке решать прикладные задачи... Отчеты новые появляются каждую неделю, требования к уже реализованным могут меняться каждый день, глюки всевозможные и ошибки реализации вылезают ежедневно - в общем-то ничего нового, типичная тупая интеллектуальная долбежка.

Кстати C - классический процедурный С, правильно понимаю?
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725217
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noMAXMikhail.Gurusovпропущено...


Разница во времени выполнения катастрофическая, 2 мин против 3 сек! Держите меня 10 мужиков, как такое вообще возможно?!

В IBM i наличествует два движка выполнения запросов. У вас, похоже, именно такой случай.
По следующей ссылке дается описание того, как можно рулить этими вариантами:

http://www-01.ibm.com/support/docview.wss?uid=nas8N1018857
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725218
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
noMAX,

да, очень похоже на то.

Коллеги, спасибо огромное, что тыкаете чайника носом куда надо. Про те же движки уже читал гле-то, но сам вряд ли бы допетрил, что может быть в них дело.
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725273
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov,

ну почему одна запись обрабатывается, и SQL-ку любую...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Columns . . . :    6  76           Browse                  
SEU==>                                                     
FMT C  CL0N01Factor1+++++++Opcode&ExtFactor2+++++++Result++
003.31 C     REDSP         TAG                             
003.32 C                   WRITE     DSPBOTTON             
003.33 C                   EXFMT     DSPCNTRMDL            
003.34 C   03              GOTO      STOP                  
003.35 C   12              GOTO      STOP                  
003.36 C  N21              GOTO      REDSP                 
012.00 C     STOP          TAG                             
013.00 C                   SETON                           
014.00  *--------------------------------------------------
015.00 C     *INZSR        BEGSR                           
015.01 C     RESTART       TAG                             
015.02 C/EXEC SQL                                          
015.03 C+ DECLARE DRUMS CURSOR FOR SELECT COUNT(*) FROM PFD
015.04 C/END-EXEC                                          
015.06 C/EXEC SQL                                          
015.07 C+ OPEN DRUMS                                       
015.08 C/END-EXEC                                          
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725766
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsenMikhail.Gurusov,

ну почему одна запись обрабатывается, и SQL-ку любую...

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Columns . . . :    6  76           Browse                  
SEU==>                                                     
FMT C  CL0N01Factor1+++++++Opcode&ExtFactor2+++++++Result++
003.31 C     REDSP         TAG                             
003.32 C                   WRITE     DSPBOTTON             
003.33 C                   EXFMT     DSPCNTRMDL            
003.34 C   03              GOTO      STOP                  
003.35 C   12              GOTO      STOP                  
003.36 C  N21              GOTO      REDSP                 
012.00 C     STOP          TAG                             
013.00 C                   SETON                           
014.00  *--------------------------------------------------
015.00 C     *INZSR        BEGSR                           
015.01 C     RESTART       TAG                             
015.02 C/EXEC SQL                                          
015.03 C+ DECLARE DRUMS CURSOR FOR SELECT COUNT(*) FROM PFD
015.04 C/END-EXEC                                          
015.06 C/EXEC SQL                                          
015.07 C+ OPEN DRUMS                                       
015.08 C/END-EXEC                                          



Drums - во множественном числе, очень символично))) Не просто бубен, а много бубнов!
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725771
Mikhail.Gurusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

Так понял что C в контексте данной системы какой-то свой язык. И для обработки массивов все равно использовать вкрапления SQL. Получается без вариантов - только SQL, пусть он и своеборазный в этой СУБД...
...
Рейтинг: 0 / 0
Data Studio & DB2/AS400 V7.1
    #38725816
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mikhail.Gurusov,

нет, не понял! вкрапления SQL не есть основная обработка, но можно и так. Вообщет-то всё от задачи зависит, вот я бы заполнял таблицу бы программой, а читал бы в BI уже SQLем и как можно более простым...
...
Рейтинг: 0 / 0
25 сообщений из 65, страница 2 из 3
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Data Studio & DB2/AS400 V7.1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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