Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Db2 is NOT covered by 2 PHASE COMMIT from MQ / 17 сообщений из 17, страница 1 из 1
20.04.2005, 09:22
    #33024435
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
Hi

I need do 2-phase commit MQ/DB2
I mean when I do MQCMIT db2 should be also commited.

I was told to use a special stub CSQBRRSI
I performed all the instructions but db2 commit is
not occored.

I was told the problem in DB2 stub ...

may be someone know what the stub is this and
how I can use it..

Thanks in advance
...
Рейтинг: 0 / 0
20.04.2005, 10:33
    #33024596
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
вообще-то у меня это работает. покажи код.
...
Рейтинг: 0 / 0
20.04.2005, 10:40
    #33024621
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
db2 stub must be DSNRLI
...
Рейтинг: 0 / 0
20.04.2005, 14:17
    #33025354
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
Огромное вам спасибо!
это по-видимому будет как раз то что нужно
но пока что при запуске (после добавления stub-а в линк)
получается такой вот абенд..

An error has occurred during a DB2 call,
sqlcode : -981
...
Рейтинг: 0 / 0
20.04.2005, 14:50
    #33025443
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
а это потому что сначала нужно выполнить команды IDENTIFY, SIGNON, и CREATE THREAD, а только потом SQL statements.

см книжку Application Programming and SQL Guide, Chapter 30.
...
Рейтинг: 0 / 0
20.04.2005, 15:53
    #33025623
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
так что эти ф-ции вместе с DSNRLI в самой программе вызывать нужно ?
...
Рейтинг: 0 / 0
20.04.2005, 16:09
    #33025665
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
да
...
Рейтинг: 0 / 0
20.04.2005, 17:07
    #33025867
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
Делаю 3 последовательных вызова в главной Pl1 программе:

Dcl DsnRliRetCode bin fixed(31) init(0);
Dcl DsnRliReasCode bin fixed(31) init(0);
Call DsnRli('IDENTIFY ',
'KEYB56SS',
' ',
' ',
DsnRliRetCode,
DsnRliReasCode);

DSNRLIRETCODE= 0;
DSNRLIREASCODE= 0;

Call DsnRli('SIGNON ',
'KEYB56SS',
' ',
' ',
DsnRliRetCode,
DsnRliReasCode);
DSNRLIRETCODE= 200;
DSNRLIREASCODE= 12657156;

Call DsnRli('CREATE THREAD ',
'KEYB56SS',
' ',
' ',
DsnRliRetCode,
DsnRliReasCode);
DSNRLIRETCODE= 200;
DSNRLIREASCODE= 12657156;

после чего обращаюсь к DB2
получаю всё тот же -981

факт что коды после SIGNON и CREATE THREAD не особо хороши
но не совсем понятно как их улучшить..
...
Рейтинг: 0 / 0
20.04.2005, 17:41
    #33025981
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
200 на сколько я понмю это ты неправильно параметры забил, ну, например, где-то пробел не поставил. DSNRLI ассемблерный модуль, и параметры туда нужно передавать точно такие, как написано в документации.
...
Рейтинг: 0 / 0
20.04.2005, 18:14
    #33026101
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
а может и нет, не хочу в книжку смотреть.
это было в книжке кот. я выше привел, только от 6-ой версии db2.

а reason нужно перевести в шестнадцатеричный вид и посмотреть в в книжке messages and codes.

00C12204
Explanation: The application issued a function request
other than IDENTIFY when no connection with DB2
existed. Only IDENTIFY may be issued when a
connection does not exist.
User Response: You can continue processing with a
corrected request.
Problem Determination: This reason code is issued
by the following CSECT: DSNARA00
...
Рейтинг: 0 / 0
21.04.2005, 12:26
    #33027375
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
чем дальше тем хуже..
после IDENTIFY
00F30006
Explanation: A failure occurred while processing the 'Subsystem Name' during connection processing. In the abend case, connection processing failed when accessing the 'Subsystem Name' in the caller's PSW key. In the nonabend case, MVS was unable to locate a DB2 subsystem with the specified name.

This reason code is issued by the following CSECT: DSN3ID00

System Action: The request is not processed.

User Response: A dump should be taken in your recovery routine for abend analysis. If the named subsystem could not be found, verify that the correct subsystem name was specified. Call attachment users should note that the Translate function cannot be invoked for this reason code.

System Programmer Response: See Problem Determination.

Problem Determination: If the named subsystem could not be found, scan the MVS system log to verify that it was initialized during MVS IPL processing.

If this reason code was specified in register 15 on an abend, check that the subsystem name value is addressable in the caller's PSW key.

причём что же это за 'Subsystem Name' вообще не ясно но вчера работало с урезанным именем программы

остальные ошибки те же..

а вы случаем не на plI это использовали?
не могли бы ваш код показать ?
...
Рейтинг: 0 / 0
21.04.2005, 12:28
    #33027386
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
Ещё вычитал что перед SIGNON не мешало бы вызвать некий макро RACROUTE
стоит ли лезть в такие дебри?
...
Рейтинг: 0 / 0
21.04.2005, 13:02
    #33027503
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
с подсистемой разобрался
и теперь я оказывается is not authorized to connect to this DB2 subsystem...

00F30013 при call dsnrli(Identify..
...
Рейтинг: 0 / 0
21.04.2005, 19:04
    #33028824
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
всё кажись почти разобрался! админ дал права и всё частично заработало! :))

только вот в начале программы вызывается подпрограмма возвращающая sessionid т.е current timestamp
возвращается ерунда
в подпрограмме делается простой exec sql set...

в основной программе вызывается ещё одна подпрограмка которая делает select из таблицы другой подсистемы - и это тоже не работает..

чувствую нужно выполнить ещё парочку DSNRLI как-то грамотно..
...
Рейтинг: 0 / 0
21.04.2005, 19:08
    #33028832
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
наврал по поводу второй подпрограммы - она из той же подсистемы..
...
Рейтинг: 0 / 0
21.04.2005, 19:21
    #33028852
NewYear
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
так ее перелинковать с DSNRLI нужно.

еще, подозреваю, и биндить ее с основной программой в один план -- с RRS я это не знаю точно, с CICS точно так.

чтоб вовлекать две подсистемы в одну транзакцию -- у меня нет такого опыта.
...
Рейтинг: 0 / 0
22.04.2005, 14:26
    #33030189
jazz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Db2 is NOT covered by 2 PHASE COMMIT from MQ
Зработало!!!

Большое вам спасибо!!!
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Db2 is NOT covered by 2 PHASE COMMIT from MQ / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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