powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / цикл FOR
9 сообщений из 9, страница 1 из 1
цикл FOR
    #36021945
algepv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста почему при использовании цикла FOR в DB2 express я получаю сообщение
SQL0501N Указатель, заданный в операторах FETCH или CLOSE, не открыт.
SQLSTATE=24501

SQL0501N Указатель, заданный в операторах FETCH или CLOSE, не открыт.
...
Рейтинг: 0 / 0
цикл FOR
    #36022125
asbestos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
algepv,

Это прям таки и значит, что курсор не открыт.
Читайте документацию: тынц
...
Рейтинг: 0 / 0
цикл FOR
    #36022871
algepv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asbestos,

Речь идёт о другом. Использование цикла FOR предполагает автоматическое создание курсора. В самом
теле цикла никаких курсоров нет. Сам цикл исполняется только один раз, выбрасывая соответствующую ошибку. Курсор в описании цикла должен создаваться и открываться автоматически. А этого не происходит. Почему?
...
Рейтинг: 0 / 0
цикл FOR
    #36022951
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
algepvРечь идёт о другом. Использование цикла FOR предполагает автоматическое создание курсора. В самом
теле цикла никаких курсоров нет. Сам цикл исполняется только один раз, выбрасывая соответствующую ошибку. Курсор в описании цикла должен создаваться и открываться автоматически. А этого не происходит. Почему?Покажите код внутри цикла.
Есть ли там команды commit?
...
Рейтинг: 0 / 0
цикл FOR
    #36023067
algepv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

внутри цикла commit отсутствует

for REC1 as
select DATE_STAMP,
ROUTER_CODE,
TRAFLOAD_ID,
TRAFRAW_ID
from LL_T_TRAFFIC_RAW_QUEUE
where ROUTER_CODE = vszRouterCode and
DATE_STAMP between dtDateFrom and dtDateTo
do
set DATE_STAMP_L_Q = REC1.DATE_STAMP;
set ROUTER_CODE_L_Q = REC1.ROUTER_CODE;
set TRAFLOAD_ID_L_Q = REC1.TRAFLOAD_ID;
set TRAFRAW_ID_L_Q = REC1.TRAFRAW_ID;
-- дополнить обработкой исключительных ситуаций!!
select ID,TRAFFIC_DIRECTION, SUBS_PEER_ADDRESS, PEER_ADDRESS, OCTETS
into ID_L, TRAFFIC_DIRECTION_L, SUBS_PEER_ADDRESS_L, PEER_ADDRESS_L, OCTETS_L
from LL_T_TRAFFIC_RAW_LIGHT
where DATE_STAMP = DATE_STAMP_L_Q and ID = TRAFRAW_ID_L_Q;
call AADEBUG_MESSAGE('SUBS_PEER_ADDRESS_L = 'concat SUBS_PEER_ADDRESS_L concat ' TRAFRAW_ID_L_Q = ' concat char(TRAFRAW_ID_L_Q));

-- обработаем запись
call AADEBUG_MESSAGE('Запись обработана');
SET nRes = 0;
if nRes != 0 then
call AADEBUG_MESSAGE('код ошибки в процессе обработки записи');
return;
end if;

-- удалим из очереди ссылку на обработанную запись
delete from LL_T_TRAFFIC_RAW_QUEUE where TRAFRAW_ID = TRAFRAW_ID_L_Q;
call AADEBUG_MESSAGE('Запись удалена');

-- пропустить запись без обработки
-- увеличим счетчик записей
set nCurrentRecord = nCurrentRecord + 1;

end for;
...
Рейтинг: 0 / 0
цикл FOR
    #36023073
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
algepv,

Внутри процедур тоже?
...
Рейтинг: 0 / 0
цикл FOR
    #36023088
algepv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Внутри процедур есть commit
...
Рейтинг: 0 / 0
цикл FOR
    #36023115
algepv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Спасибо за помощь. Действительно дело оказалось в commit !!! Не первый раз читаю ваши квалифицированные советы!!
...
Рейтинг: 0 / 0
цикл FOR
    #36023183
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
algepvВнутри процедур есть commitТогда либо
for REC1 as C1 cursor WITH HOLD for
, либо убрать commit.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / цикл FOR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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