Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
THE STATEMENT IS TOO LONG OR TOO COMPLEX
|
|||
|---|---|---|---|
|
#18+
Господа, В процессе выполнения хранимой процедуры под DB2 9.1 для z/OS, которая вызывает довольно много вложенных процедур, получаю ошибку -101 "THE STATEMENT IS TOO LONG OR TOO COMPLEX". Я отключил параллелелизм, как предлагалось в описании этой ошибки: Код: plaintext Код: plaintext Есть идеи в чем может быть дело? Кстати, а куда правильно вставлять SET CURRENT DEGREE? Я эту инструкцию вызываю вначале процедуры самого верхнего уровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 16:07 |
|
||
|
THE STATEMENT IS TOO LONG OR TOO COMPLEX
|
|||
|---|---|---|---|
|
#18+
Я переписал IF через переменную, однако, буквально следующий запрос вызвал такую же ошибку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2009, 17:30 |
|
||
|
THE STATEMENT IS TOO LONG OR TOO COMPLEX
|
|||
|---|---|---|---|
|
#18+
Детектив продолжается! После дополнительных экспериментов ситуация немного поменялась, попытаюсь описать проблемный участок: 1) Из java дергается SQL процедура P1, которая дергает процедуру P2 2) В самом начале P1 вызывается SET CURRENT DEGREE = '1'; 3) В процедуре P2 есть такой фрагмент: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Процедура P1 у меня вызывается много раз с различными параметрами и указанный фрагмент кода отлично работает. Однако при очередном вызове P1 в java приходит исключение THE STATEMENT IS TOO LONG OR TOO COMPLEX (в процессе экспериментов я сталкивался с этим исключением как с кодом -101, так и без него). Смотрю в A.LOG и вижу, что там есть только 'Before SELECT', но нет 'After SELECT'. Идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 12:35 |
|
||
|
THE STATEMENT IS TOO LONG OR TOO COMPLEX
|
|||
|---|---|---|---|
|
#18+
Для удобства напишу примечание к ошибке в хелпе (см. http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/topic/com.ibm.db29.doc.codes/n101.htm ) -101 THE STATEMENT IS TOO LONG OR TOO COMPLEX Explanation DB2® cannot process the statement because it exceeds the system limits for length or complexity. Enabling parallelism will increase the complexity of the statement. System action DB2 cannot process the statement. Programmer response Divide the statement into shorter or less complex SQL statements. If the statement enables parallelism, try disabling parallelism. You may do this by using the DEGREE(1) bind option for static SQL, or by setting the CURRENT DEGREE special register to '1' for dynamic SQL. SQLSTATE 54001 Т.е. хелп предлагает, во-первых, убрать параллелизм - это я сделал (см. пункт 2). Во-вторых, предлагает мне упростить выражение. Вот тут у меня небольшой ступор, т.к. 1. Запрос успешно работает в аналогичных обстоятельствах 2. Куда уж проще? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 12:54 |
|
||
|
THE STATEMENT IS TOO LONG OR TOO COMPLEX
|
|||
|---|---|---|---|
|
#18+
В Windows версии DB2 данная связка java + процедуры работает отлично с параметрами БД по умолчанию. На данном форуме я уже видел рекомендации увеличить параметр STMTHEAP, но в DB2 для z/OS я что-то не пойму где аналог (и есть ли он вообще) :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 12:59 |
|
||
|
THE STATEMENT IS TOO LONG OR TOO COMPLEX
|
|||
|---|---|---|---|
|
#18+
1. На стороне z/OS проверить не выдаются ли дополнительные сообщения, абенды или записи в LOGREC. Информация может быть от адресных пространств DB2 и/или от WLM-пространств, в которых исполняются хранимые процедуры. 2. Установлены ли на продукт DB2 for z/OS V9 обновления (PTF-ы)? Если продукт на обслуживании в IBM, то периодически должны приходить "сборки" для обновления продукта. PS: Поиском не нашел подходящих по симптомам PTF-ов, поэтому диагностическая информация (если она есть) со стороны z/OS будет очень полезна. Ну и если есть договор с IBM-ом, то почему бы не обратиться в их Support? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2009, 15:48 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=43&tid=1603307]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 219ms |
| total: | 398ms |

| 0 / 0 |
