Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
17.04.2013, 14:43
|
|||
|---|---|---|---|
|
|||
Как задавать параметры DRDA? |
|||
|
#18+
Добрый день, господа! Подскажите, пожалуйста такую вещь. Есть две подсистемы на z/OS, DB2 9.1 На одной подсистеме работает ХП на SQLJ, которая вызывает ХП с другой подсистемы через трехзвенное имя. Проблема в том, что если вызываемая процедура делает COMMIT, то вызывающая процедура слетает с -751-м кодом. В описании данной ошибки так и написано, что COMMIT в удаленной процедуре делать нельзя, если только "The requester system must indicate that commits are allowed by sending a DRDA RDBCMTOK=TRUE indication when the stored procedure is called." Вот эти вот последние слова "when the stored procedure is called" дает основание предполагать, что этот флаг как-то можно указать при вызове удаленной процедуры. Но я нигде не сумел найти примера КАК это сделать. Как в хранимой процедуре на SQLJ указать, что при вызове Код: java 1. 2. 3. 4. 5. 6. 7. 8. указать этот флаг? С уважением, Black Tomcat ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.04.2013, 15:12
|
|||
|---|---|---|---|
|
|||
Как задавать параметры DRDA? |
|||
|
#18+
BlackTomcat, Есть патчи (PTF) на похожие симптомы/проблемы. Навскидку нашел такие. PK99468: SQLCODE919 FROM DSNXERT WHEN CALLING STORED PROCEDURE DSNUTILU II14647: SQLCODE -751 OR -919 ON STORED PROCEDURE EMBEDDED COMMIT OR ROLLBACK RELATIVE TO REMOTE JCC XA RELATED APPLICATION Напрямую управлять RDBCMTOK нельзя, т.к. за обмен по DRDA-протоколу отвечает СУБД и/или JDBC-драйвер. В такой архитектуре за промежуточное соединение между подсистемами отвечает сама СУБД. Честно, не помню, позволено ли вообще в такой схеме удаленной процедуре самой выполнять commit. Проще всего это проверить, написав тестовую хранимую на native-sql, которая вызовет ту же самую хранимую в удаленной системе. При этом вызов этой тестовой хранимой выполнить или локально в подсистеме, где эта хранимая создана, или с клиента db2 из командной строки (db2cmd), чтобы временно исключить влияние JDBC-драйвера/драйверов. Если это отработает нормально, то ставить обновления на JDBC-драйвер в комплекте DB2 for z/OS V9.1, т.к. SQLJ-хранимая работает через него. И обновлять JDBC-драйвер в приложении, которое вызывает хранимую на SQLJ, если там конечно через JDBC вызов идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&tablet=1&tid=1601455]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 158ms |

| 0 / 0 |
