IbDac. LockMode и транзакции

Обсуждение возникших проблем, предложений и ошибок IBDAC компонентов
Закрыто
raMZES
Сообщения: 30
Зарегистрирован: Ср 14 сен 2011 10:49

IbDac. LockMode и транзакции

Сообщение raMZES » Пт 06 апр 2012 06:58

Здравствуйте. Снова я с вопросом. Подскажите еще пожалуйста выход.

Обычно я в своих проектах использую хранимые процедуры. Например пользователь открывает окно, вводит данные в поля ввода, при нажати на "Сохранить" пишется код:

Код: Выделить всё

  SP.Active := false;
  SP.StoredProcName := 'MyProc';
  SP.Prepare;
  // ------------------------------------------------------------------------------
  // Присваиваем параметры
  // ------------------------------------------------------------------------------
  SP.Params.ParamByName('MyParam').Value := MyValue;

  try
    WriteTr.StartTransaction;
    //
    SP.ExecProc;
    //
    WriteTr.Commit;
  except
    on e: EIBCError do
    begin
    //мои действия
    end;
Все хорошо, я полностью контролирую запуск и завершение транзакций. Транзакции короткие, все хорошо.

В текущем проекте необходимо редактировать записи прямо в DBGrid. К IBСQuery, как полагается, прикреплено две транзакции. При переходе на следующую запись в гриде, либо при сохранении командой DBNavigator`а транзакция подтверждается. Все хорошо. Но программа будет многопользовательская и запись нужно будет блокировать на время редактирования (на определенное время, например на 2 минуты). Устанавливаю свойство у IBСQuery LockMode в lmLockImmediate, свойство PrepareUpdateSQL в Fasle. IBСQuery начинает подтвеждать транзакции по CommitRetaining. При LockMode lmNone - все нормально. Транзакция подтверждается по Commit. Можно ли сделать так, чтобы IBCQuery подтверждала транзакцию по Commit?

Заранее спасибо.
Последний раз редактировалось raMZES Пн 09 апр 2012 05:55, всего редактировалось 1 раз.

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Сообщение AndreyZ » Пт 06 апр 2012 13:48

Здравствуйте,

Спасибо за информацию. Мы повторили данную проблему и исследуем ее.

raMZES
Сообщения: 30
Зарегистрирован: Ср 14 сен 2011 10:49

Сообщение raMZES » Пн 09 апр 2012 06:02

AndreyZ писал(а):Здравствуйте,

Спасибо за информацию. Мы повторили данную проблему и исследуем ее.
Понятно. Спасибо. Если можно, то напишите если исправлено и в какой версии.

AndreyZ
Devart Team
Сообщения: 328
Зарегистрирован: Чт 08 сен 2011 13:18

Re: IbDac. LockMode и транзакции

Сообщение AndreyZ » Ср 04 июл 2012 13:13

Данная проблема исправлена в IBDAC 4.2.7.

Закрыто