Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Странная ошибка при вызове процедуры , через раз... / 18 сообщений из 18, страница 1 из 1
23.05.2016, 12:14
    #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
23.05.2016, 15:45
    #39241491
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная ошибка при вызове процедуры , через раз...
"не верные"? Хм.

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

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

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

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

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

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

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

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

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

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

А в проблемы DB2 поверить проще, чем в проблемы сетки, которые целенаправленно меняют типы параметров, и ничего более, причём контрольные суммы пакетов не проверяются.
Переписал свой скрипт с приведением типов вашим способом, но думаю вы ошибаетесь! При глюках потестю ваш скрипт, дабы разрешить сомнения!
...
Рейтинг: 0 / 0
24.05.2016, 12:25
    #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
24.05.2016, 12:30
    #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
24.05.2016, 12:31
    #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
24.05.2016, 12:33
    #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
24.05.2016, 12:41
    #39242113
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная ошибка при вызове процедуры , через раз...
medoedПереписал свой скрипт с приведением типов вашим способом, но думаю вы ошибаетесь! При глюках потестю ваш скрипт,
дабы разрешить сомнения!
Я довольно часто ошибаюсь, особенно тогда, когда не вижу ни реального кода, ни структуры.
Могу ещё предложить список APAR'ов изучать, причём не только 9.7, но и более поздних. Быть может, это таки DB2-шный баг.
...
Рейтинг: 0 / 0
24.05.2016, 13:10
    #39242148
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Странная ошибка при вызове процедуры , через раз...
medoed,

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

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


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