powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Db2 is NOT covered by 2 PHASE COMMIT from MQ
17 сообщений из 17, страница 1 из 1
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33024435
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33024596
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще-то у меня это работает. покажи код.
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33024621
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db2 stub must be DSNRLI
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33025354
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное вам спасибо!
это по-видимому будет как раз то что нужно
но пока что при запуске (после добавления stub-а в линк)
получается такой вот абенд..

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

см книжку Application Programming and SQL Guide, Chapter 30.
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33025623
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так что эти ф-ции вместе с DSNRLI в самой программе вызывать нужно ?
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33025665
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33025867
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю 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
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33025981
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
200 на сколько я понмю это ты неправильно параметры забил, ну, например, где-то пробел не поставил. DSNRLI ассемблерный модуль, и параметры туда нужно передавать точно такие, как написано в документации.
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33026101
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а может и нет, не хочу в книжку смотреть.
это было в книжке кот. я выше привел, только от 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
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33027375
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чем дальше тем хуже..
после 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
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33027386
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё вычитал что перед SIGNON не мешало бы вызвать некий макро RACROUTE
стоит ли лезть в такие дебри?
...
Рейтинг: 0 / 0
Db2 is NOT covered by 2 PHASE COMMIT from MQ
    #33027503
jazz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с подсистемой разобрался
и теперь я оказывается is not authorized to connect to this DB2 subsystem...

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

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

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

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

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

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

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


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