Как включить транзакции с IBM.Data.DB2.iSeries для хранимых процедур

Я пытаюсь написать клиент, который выполняет серию хранимых процедур DB2 iSeries в DB2. Я использую провайдера IBM.Data.DB2.iSeries, и мне нужно, чтобы все мои вызовы были внутри транзакции .NET. Кажется, что все игнорируется, а данные фиксируются. Любые указатели...


person chugh97    schedule 27.05.2009    source источник


Ответы (3)


Ведется ли журнал в базе данных iSeries? Это необходимо для контроля обязательств.

person Brandon Peterson    schedule 29.05.2009
comment
Ваш сервер iSeries находится на обслуживании программного обеспечения? Если это так, вы, вероятно, можете позвонить в IBM и спросить их напрямую. - person Brandon Peterson; 02.06.2009
comment
Также может быть полезно узнать, как определяются или используются эти хранимые процедуры. Используете ли вы оператор SQL CALL, это RPG-программы и т. д. - person Brandon Peterson; 02.06.2009
comment
Кстати, хранимые процедуры могут быть определены для автоматической фиксации при их использовании. См. предпоследний абзац на itjungle.com/fhg/fhg061604-story01.html. - person Brandon Peterson; 02.06.2009

У меня была такая же проблема, и я понял, что проблема не в коде .Net, а в хранимой процедуре. Проверьте определение хранимой процедуры на наличие параметра COMMIT. Если для него установлено значение «*NONE», он будет автоматически фиксироваться независимо от транзакций в вашем коде .Net. Измените его на *RR (повторяемое чтение), и ваши транзакции должны работать правильно.

Подробнее здесь.

person AJ.    schedule 31.07.2009

Вы используете тему Метод DB2Connection.BeginTransaction?

person Paul Morgan    schedule 22.06.2009