powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Странная ошибка при вызове процедуры , через раз...
18 сообщений из 18, страница 1 из 1
Странная ошибка при вызове процедуры , через раз...
    #39241314
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

По старинке генерю значение, везде на других (7-ми базах) работает, а на одной нет.
Тоесть на 8-ой работает через раз (конструкция ниже).
Код: sql
1.
SELECT DBMS_UTILITY.GET_HASH_VALUE('Veter',100,1024) AS HASH_VALUE FROM SYSIBM.SYSDUMMY1


Выдает такую ругачку: Не найдена подпрограмма или не верные аргументы.
Код ошибки : SQLSTATE=42884
Что это может быть, почему работает через раз, как такое лечить?
Спасибо!
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39241491
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"не верные"? Хм.

Не может она работать через раз при прочих равных. Следите за типами параметров. При сомнении используйте

DBMS_UTILITY.GET_HASH_VALUE(cast(param1 as varchar(32000),cast(param2 as integer),cast(param3 as integer))
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39241543
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa,

Другие функции тоже начали глючить, через раз. Думаю - базу перестартовывать нужно DB2 Stop DB2 START сделать, имхо!
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39241640
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoedVictor Metelitsa,

Другие функции тоже начали глючить, через раз. Думаю - базу перестартовывать нужно DB2 Stop DB2 START сделать, имхо!
Проводился ли недавно upgrade DB2?
Запускался ли после upgrade'а instance'а db2updv105 (ну, или, соответственно, db2updv97, db2updv10)?
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39241877
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описание ошибки достаточно ясное. Это повод присмотреться к аргументам.

Как я понимаю, "через раз" на сервер отправляется SQL-выражение с параметрами для DBMS_UTILITY.GET_HASH_VALUE(..), которые по какой-то причине не приводятся (однозначно) к тройке типов (VARCHAR, INTEGER, INTEGER). Возможно, моё предложение с CAST'ами приведёт к тому, что будет выдаваться другое сообщение об ошибке (что не удалось привести значение к типу), и это поможет увидеть проблему. Или (худший вариант) - сообщения об ошибках уйдут, мусор будет загнан под ковёр.

Возможно, конечно, что это в DB2 что-то поломалось, но проблемы в пользовательском коде как-то более вероятны.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39241975
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPbmedoedVictor Metelitsa,

Другие функции тоже начали глючить, через раз. Думаю - базу перестартовывать нужно DB2 Stop DB2 START сделать, имхо!
Проводился ли недавно upgrade DB2?
Запускался ли после upgrade'а instance'а db2updv105 (ну, или, соответственно, db2updv97, db2updv10)?
Нет, пару последних лет ничего не трогали, версия DB2 9.7.
Сегодня тьфу тьфу пока ничего не глючит, наблюдаю...
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242001
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы ситуацию описали не очень детально. А это может быть, например, динамически конструируемый SQL c прямой подстановкой литералов. И тогда от литерала будет зависеть, например, влезет ли он в ограничение Integer, или будет чем-то другим.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242006
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaВы ситуацию описали не очень детально. А это может быть, например, динамически конструируемый SQL c прямой подстановкой литералов. И тогда от литерала будет зависеть, например, влезет ли он в ограничение Integer, или будет чем-то другим.
У нас сетка локальная глючит эту неделю - пока виним ее (связь с серваком хромает)! Если бы параметры разные то да , а у меня вчера с одними и теми же, то срабатывает, то нет!
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242012
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cast(1 as integer) и cast(1 as bigint) - разные вещи, причём тип может выводиться откуда-то ещё.

Мне в такое проще поверить, чем в проблемы DB2.

А в проблемы DB2 поверить проще, чем в проблемы сетки, которые целенаправленно меняют типы параметров, и ничего более, причём контрольные суммы пакетов не проверяются.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242034
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsacast(1 as integer) и cast(1 as bigint) - разные вещи, причём тип может выводиться откуда-то ещё.

Мне в такое проще поверить, чем в проблемы DB2.

А в проблемы DB2 поверить проще, чем в проблемы сетки, которые целенаправленно меняют типы параметров, и ничего более, причём контрольные суммы пакетов не проверяются.
Переписал свой скрипт с приведением типов вашим способом, но думаю вы ошибаетесь! При глюках потестю ваш скрипт, дабы разрешить сомнения!
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242091
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00440n.html?lang=en
sqlcode: -440 sqlstate: 42884 routine-name was either incorrectly specified or does not exist in the database.
A qualified reference was made, and the qualifier was incorrectly specified.
The user's SQL path does not contain the schema to which the desired function or method belongs, and an unqualified reference was used.
The user's SQL path does not contain the module to which the desired routine belongs.
The module-qualified routine reference is made from outside the module but the module routine is not published.
The wrong number of arguments was included.
The right number of arguments was included in the function or method reference, but the data types of one or more of the arguments is incorrect.
Named arguments were used which do not match the parameter names of routine routine-name.
There are one or more routines with the same name and number of parameters declared in the current compound statement.
There are one or more routines with the same name declared in the outer compound statements within which the current compound statement declaring a routine is nested.
The routine does not exist in the database with the same function id that was used when the package was bound (applies to static statements).
The mutator method corresponding to an attribute assignment used in an UPDATE statement could not be found. The data type of the new value for the attribute is not a data type that is the same or promotable to the data type of the attribute.
The routine invoker is not authorized to execute the routine.
The server time was reset or changed.
The database was restored on a server with a different time or time zone.
The time associated with the members in multi-partitionned database environments is out of sync.

Положим для простоты, что мы не натолкнулись на глюки сетки или баг DB2 - тогда что из этого подходит?
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242100
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor Metelitsa http://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00440n.html?lang=en
Положим для простоты, что мы не натолкнулись на глюки сетки или баг DB2 - тогда что из этого подходит?

Ничего что у нас 9.7 , а вы ссыль на доку от db2 10.5 даете?
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242101
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше так:
sqlcode: -440 sqlstate: 42884
1.routine-name was either incorrectly specified or does not exist in the database.
2.A qualified reference was made, and the qualifier was incorrectly specified.
3.The user's SQL path does not contain the schema to which the desired function or method belongs, and an unqualified reference was used.
4.The user's SQL path does not contain the module to which the desired routine belongs.
5.The module-qualified routine reference is made from outside the module but the module routine is not published.
6.The wrong number of arguments was included.
7.The right number of arguments was included in the function or method reference, but the data types of one or more of the arguments is incorrect.
8.Named arguments were used which do not match the parameter names of routine routine-name.
9.There are one or more routines with the same name and number of parameters declared in the current compound statement.
10.There are one or more routines with the same name declared in the outer compound statements within which the current compound statement declaring a routine is nested.
11.The routine does not exist in the database with the same function id that was used when the package was bound (applies to static statements).
12.The mutator method corresponding to an attribute assignment used in an UPDATE statement could not be found. The data type of the new value for the attribute is not a data type that is the same or promotable to the data type of the attribute.
13.The routine invoker is not authorized to execute the routine.
14.The server time was reset or changed.
15.The database was restored on a server with a different time or time zone.
16.The time associated with the members in multi-partitionned database environments is out of sync.

С 1 по 6 отпадают.
За 7-й я проголосовал.
С 8-го по 16, скорее всего, тоже отпадают.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242105
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoedVictor Metelitsa http://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00440n.html?lang=en
Положим для простоты, что мы не натолкнулись на глюки сетки или баг DB2 - тогда что из этого подходит?

Ничего что у нас 9.7 , а вы ссыль на доку от db2 10.5 даете?
Я по этому поводу в данном конкретном случае не беспокоюсь, потому что список причин мог прибавиться, но не измениться.
Но мне не жалко - http://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.messages.sql.doc/doc/msql00440n.html?lang=en
автор 1.routine-name was either incorrectly specified or does not exist in the database.
2.A qualified reference was made, and the qualifier was incorrectly specified.
3.The user's SQL path does not contain the schema to which the desired function or method belongs, and an unqualified reference was used.
4.The user's SQL path does not contain the module to which the desired routine belongs.
5.The module-qualified routine reference is made from outside the module but the module routine is not published.
6.The wrong number of arguments was included.
7.The right number of arguments was included in the function or method reference, but the data types of one or more of the arguments is incorrect.
8.Named arguments were used which do not match the parameter names of any routine routine-name.
9.The routine does not exist in the database with the same function id that was used when the package was bound (applies to static statements).
10.The mutator method corresponding to an attribute assignment used in an UPDATE statement could not be found. The data type of the new value for the attribute is not a data type that is the same or promotable to the data type of the attribute.
11.The routine invoker is not authorized to execute the routine.
12.The server time was reset or changed.
13.The database was restored on a server with a different time or time zone.
14.The time associated with the nodes in multi-partitionned database environments is out of sync.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242113
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
medoedПереписал свой скрипт с приведением типов вашим способом, но думаю вы ошибаетесь! При глюках потестю ваш скрипт,
дабы разрешить сомнения!
Я довольно часто ошибаюсь, особенно тогда, когда не вижу ни реального кода, ни структуры.
Могу ещё предложить список APAR'ов изучать, причём не только 9.7, но и более поздних. Быть может, это таки DB2-шный баг.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242148
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoed,

Системные функции с такими ошибками массово могут начинать отказывать, когда играются с системным временем.
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242158
Фотография medoed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinmedoed,

Системные функции с такими ошибками массово могут начинать отказывать, когда играются с системным временем.
Спасибо, Марк! Не игрались мы, а не могло оно слететь на апп сервере и обычном из за обрыва сети, типа нет синхронизации между ними!?
...
Рейтинг: 0 / 0
Странная ошибка при вызове процедуры , через раз...
    #39242174
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
medoedа не могло оно слететь на апп сервере и обычном из за обрыва сети, типа нет синхронизации между ними!?Нет.
Серверу БД не важно, какое там системное время у клиента.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Странная ошибка при вызове процедуры , через раз...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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