|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 09:22 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
вообще-то у меня это работает. покажи код. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 10:33 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
db2 stub must be DSNRLI ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 10:40 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
Огромное вам спасибо! это по-видимому будет как раз то что нужно но пока что при запуске (после добавления stub-а в линк) получается такой вот абенд.. An error has occurred during a DB2 call, sqlcode : -981 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 14:17 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
а это потому что сначала нужно выполнить команды IDENTIFY, SIGNON, и CREATE THREAD, а только потом SQL statements. см книжку Application Programming and SQL Guide, Chapter 30. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 14:50 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
так что эти ф-ции вместе с DSNRLI в самой программе вызывать нужно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 15:53 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
да ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 16:09 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
Делаю 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 не особо хороши но не совсем понятно как их улучшить.. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 17:07 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
200 на сколько я понмю это ты неправильно параметры забил, ну, например, где-то пробел не поставил. DSNRLI ассемблерный модуль, и параметры туда нужно передавать точно такие, как написано в документации. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 17:41 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
а может и нет, не хочу в книжку смотреть. это было в книжке кот. я выше привел, только от 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2005, 18:14 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
чем дальше тем хуже.. после 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 это использовали? не могли бы ваш код показать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 12:26 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
Ещё вычитал что перед SIGNON не мешало бы вызвать некий макро RACROUTE стоит ли лезть в такие дебри? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 12:28 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
с подсистемой разобрался и теперь я оказывается is not authorized to connect to this DB2 subsystem... 00F30013 при call dsnrli(Identify.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 13:02 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
всё кажись почти разобрался! админ дал права и всё частично заработало! :)) только вот в начале программы вызывается подпрограмма возвращающая sessionid т.е current timestamp возвращается ерунда в подпрограмме делается простой exec sql set... в основной программе вызывается ещё одна подпрограмка которая делает select из таблицы другой подсистемы - и это тоже не работает.. чувствую нужно выполнить ещё парочку DSNRLI как-то грамотно.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 19:04 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
наврал по поводу второй подпрограммы - она из той же подсистемы.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 19:08 |
|
Db2 is NOT covered by 2 PHASE COMMIT from MQ
|
|||
---|---|---|---|
#18+
так ее перелинковать с DSNRLI нужно. еще, подозреваю, и биндить ее с основной программой в один план -- с RRS я это не знаю точно, с CICS точно так. чтоб вовлекать две подсистемы в одну транзакцию -- у меня нет такого опыта. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2005, 19:21 |
|
|
start [/forum/topic.php?fid=43&msg=33025981&tid=1605933]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 142ms |
0 / 0 |