Ошибка управления фиксацией при вызове процедуры iSeries

У меня периодически возникают проблемы при вызове хранимой процедуры iSeries (состоящей из различных программ CL и RPG). Ошибка: -

 Commitment definition *N not valid for open of QAOSSI12
    Error occurred while opening file QAOSSI12. 

Как уже упоминалось, проблема возникает не всегда, а чаще при нагрузочном тестировании процедуры.

Я знаю, что информация расплывчата, но любые идеи приветствуются!


person oidsman    schedule 05.08.2009    source источник
comment
Как вы проводите нагрузочное тестирование? Извне (например, вызов JDBC) или изнутри (например, прямой вызов из процедуры). В последнем случае проверьте, используете ли вы именованные группы активации. Как пишет Дэнни Ти, проверьте свой прицел.   -  person robertnl    schedule 30.12.2009


Ответы (3)


Если это ошибка CPF4326, текст сообщения дает следующие возможности:

  • Элемент QAOSSI12 был открыт для управления фиксацией, когда определение фиксации *N не было активным.
  • Ожидаются незафиксированные изменения для члена QAOSSI12 для определения фиксации, отличного от *N.
  • Вызывающая программа использует определение фиксации *N с областью действия *ACTGRP, в то время как программа, указанная для открытия файла, использует область *JOB.

Возможны ли такие ситуации в вашем случае?

person Danny T.    schedule 18.12.2009

Мы получили CPF4326, и решение, которое, кажется, работает, состоит в том, чтобы добавить «transactionisolation=none» к нашему URL-адресу jdbc. В любом случае мы не пытаемся использовать транзакции, поэтому нет никакой пользы от их включения. Мы также подозреваем, что что-то в iBATIS пытается откатить транзакцию при возникновении ошибки, хотя мы не делаем ничего явного в отношении контроля фиксации.

person KC Baltz    schedule 17.03.2010

Вы можете изменить значение COMMIT во время компиляции на COMMIT(*NONE), тогда определение фиксации не будет создано.

Команда Commit (COMMIT) используется для завершения текущей транзакции и установки новой границы фиксации для определения фиксации, связанного с программой, выдавшей команду.

Вы также должны проверить, находится ли ваш файл в журнале.

person Antonella    schedule 01.09.2020