powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Ошибка в хранимой sqlcode=-1822
8 сообщений из 8, страница 1 из 1
Ошибка в хранимой sqlcode=-1822
    #39285480
hansclaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Пишу хранимую процедуру на pl/sql. Процедура просто переписывает данные из одной таблицы в другую. Сначала удаляю данные, за како-нить период, из целевой таблицы, ставлю commit. Потом открываю курсор выборки из таблицы источника и тут же записываю их в целевую таблицу, commit. После этого вызываю другую процедуру, которая просто записывает в отдельную таблицу данные по записи - кол-во перенесенных строк, время и т.д., commit. Все данные переписываются, но после второго commit'а выдает ошибку sqlcode=-1822.
Подскажите, пожалуйста, что это может быть и как решить эту проблему?

P.S. Если при выборке ставлю ограничение в 999 строк, то все работает без ошибок, если 1000 и больше то ошибка.

P.P.S. Версия IMB DB2 9.7
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285524
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hansclaus,

может не хватает места в какой-то временной области памяти (типа больше 32к), попробуйте COMMIT поставить так, чтобы частями записывало... http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.messages.sql.doc/doc/msql01822n.html
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285531
hansclaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет там всего 1188 записей, и оно их записывает, а валит при обращении к другой процедуре, для записи результата переноса.
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285550
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hansclaus,

а курсоры все закрыты при обращении ко второй процедуре?
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285557
hansclaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Второй commit закрывает курсор, если закрываю курсор перед этим commit'ом возникает ошибка:
The cursor specified in a FETCH statement or CLOSE statement is not open or a cursor variable in a cursor scalar function reference is not open.. SQLCODE=-501
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285569
knudsen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hansclaus,

посмотреть бы на процедурку... так сложненько.
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285589
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hansclaus,

Commit закрывает курсор, определённый без опции with hold.
...
Рейтинг: 0 / 0
Ошибка в хранимой sqlcode=-1822
    #39285590
hansclaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
knudsen,

Спасибо за помощь.

Проблема оказалась очень неожиданной!
Во вторую процедуру я передаю текстовый параметр, который в той процедуре записываю в базу. Тип параметра varchar(80), я залез там за 80 и получилось переполнение. Теперь обрезаю его CAST'ом и все норм.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Ошибка в хранимой sqlcode=-1822
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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