Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.05.2012, 10:57
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Добрый день! iSeries 6.1 Language SQL. Подскажите, пожалуйста, может кто-нибудь уже сталкивался. При миграции с Oracle на DB2 for iSeries необходимо перенести sql-код, который создает job'ы. В oracle job'ы это отложенные задания, которые выполняются в отдельной сессии. Могут дергать хранимки, функции и т.д. Есть ли нечто подобное для DB2 for iSeries. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.05.2012, 14:17
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Если Вы имеете ввиду возможность в БД выполнить CREATE JOB, то такого нет, в iSeries это делается на уровне операционки - пишите программу и запускаете разово через SBMJOB, или в системном шедулере, который в базовой поставке достаточно убог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 00:32
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Serg0, Вся соль именно в том, что мне нужно запустить job (вызов хранимки) именно средствами SQL, к командам аэски доступа нет. Только коннект к базе и только language sql. Неужели средствами SQL нереально создать отложенное задание? Проблема актуальна как никогда! Прошу помощи сообщества! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 07:10
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Если речь именно про отложенные задания, то мне такие способы не известны. Единственное, что приходит на ум - использовать шедулер из фичепака для WebSphere Application Server, если таковой установлен и доступен, но и там нужен доступ к операционке, чтобы создать таблицы для шедулера и дать на них права. если шедулер не нужен, то запустить из SQL можно как хранимку, так и системную команду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 08:48
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Serg0, А если написать один раз CL-ку с параметрами (кстати, шедулер в AS-ке очень даже ничего) , зарегистрировать её как хранимую процедуру и вызывать CALL - поможет? Сам так не делал, но RРG как хранимые когда-то давно использовал. Вот тут что-то такое можно почерпнуть на стр. 529, 763 - http://publib.boulder.ibm.com/infocenter/iseries/v5r4/topic/db2/rbafzmst.pdf (Правда один раз, как минимум, надо не только language sql) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 10:48
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Serg0, авторесли шедулер не нужен, то запустить из SQL можно как хранимку, так и системную команду. Шедулер не нужен. И вызвать из SQL хранимку конечно не проблема. Проблема в том, как не ждать выполнения ХП, а запутсить ее в отдельной сессии, потоке. Суть такая. Есть ХП. Она запускает другую ХП, которая работает секунд 5-7. Но мне не важен результат и ждать эти 7 секунд я не могу. В Оракле спасали jobы. Поэтому сейчас стоит задача не столько в конкретном планировании задач, сколько запуска второй ХП параллельно первой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 12:29
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
автор сколько запуска второй ХП параллельно первой Даже не параллельного выполнения. А просто постановки в очередь на выполнение. т.е. не ждать результата выполнения второй ХП внутри первой. А просто поставить в очередь ее выполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 13:30
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
kalupator, мысли вслух... процедура ( LANGUAGE CL ) содержит что-то типа SBMJOB JOB(SPECIAL) JOBD(MYLIB/MYJOBD) CMD(CALL PGM(MYLIB/MYPROG) PARM(&VAR1 &VAR2 ...)) и создаётся как внешняя ( IBM Redbook SG24-4249-03 ) - соответственно сабмитит задание с программой MYLIB/MYPROG (LANGUAGE RPG) , которая содержит что-то уже типа - C/EXEC-SQL C+ SELECT, UPDATE, CALL, DELETE * ......... C/END-EXEC - вот только результат работы - надо предусмотреть вывод в табличку (ну я бы так сделал).... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 15:38
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
knudsen, Спасибо, это действительно выход. Единственное, подскажите пожалуйста, возможно ли из Language SQL процедуры дернуть LANGUAGE CL процедуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.07.2012, 18:12
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
kalupator, Как любую процедуру ... CALL PROC1(:VAR1, :VAR2 ...) - главное, чтобы она была зарегистрирована как хранимая процедура (внешняя - в документации есть как сделать). А из RPG тоже можно вызывать всякие командочки CL, да и SQL-вставочки попроще делать....в своё время баловался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2012, 08:09
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
kalupatorknudsen, Спасибо, это действительно выход. Единственное, подскажите пожалуйста, возможно ли из Language SQL процедуры дернуть LANGUAGE CL процедуру? 1. Если у вас в проекте где-то используется ODBC-JDBC, то вызывать системные команды-программы можете и напрямую, без регистрации - "CL: CHGOBJOWN ....". 2. то же самое, что и в п.1 можете сделать и из SQL хранимки, но если есть параметры, то будут проблемы: -"CALL QTEMP/MYPGM()" - пройдет -"CALL QTEMP/MYPGM('TEST')" - нет 3. Ну, и поскольку CL всё таки доступен, можете наоборот из CL вызывать хранимку: CALL PGM(QZDFMDB2) PARM('CALL PROCEDURE (''BACK'', ''DOOR'')'), а для "отвязки" - через SBMJOB 4. Триггер на таблицу в которую вы будете складывать либо параметры вызова, либо полные строки вызова, а из триггера делайте что угодно... 5. есть такая штука как STRSQLSTM для вызова из CL произвольных SQL операторов Для этого Есть ХП. Она запускает другую ХП, которая работает секунд 5-7. Но мне не важен результат и ждать эти 7 секунд я не могу. В Оракле спасали jobы. Поэтому сейчас стоит задача не столько в конкретном планировании задач, сколько запуска второй ХП параллельно первой. я бы выбрал сервисную табличку и триггер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2012, 18:39
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Serg0, Большое спасибо! авторя бы выбрал сервисную табличку и триггер а можно поподробнее про сервисные таблицы, где можно взглянуть на документацию, примеры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.07.2012, 06:49
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
"сервисные", это я по отношению к вашему проекту, не к ОС ;-) т.е. просто таблица с единственным назначением - опосредованный (через триггер) вызов процедуры/программы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2012, 10:01
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
Serg0, но ведь тогда триггер будет работать в той же сессии и том же потоке и мне так же придется ждать эти 7 секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.07.2012, 06:57
|
|||
|---|---|---|---|
|
|||
аналог job в oracle для DB2 for iSeries |
|||
|
#18+
kalupator, не совсем понимаю, почему придется ждать и почему сессия должна быть той же самой. Срабатывает триггер, запускает job... job запущенный триггером и job сессии это 2 разные, независимые друг от друга среды исполнения. на sbmjob, запускаемый триггером можете вообще транзакционность(commitment control, в терминах AS400) отключить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&mobile=1&tid=1601789]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
128ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 220ms |

| 0 / 0 |
