Конференция "Базы" » Параметры транзакции [D7]
 
  • Tonich (16.09.08 15:02) [0]
    День добрый.
    Народ, подскажите какими должны быть параметры транзакции в следующем случаи...
    создается форма(модальная), на ней лежит Query, запрос в котором выбрасывается потом на грид. (парметры транзакции read_committed rec_version nowait). На этой же форме интерфейс позволяет либо добавить либо удалить запись через EditSQL.  так вот надо сделать так что бы после того как отрабатывает  EditSQL (не подтверждая данных, для того что бы их можно было потом отменить в случаи чего...) эти данные отображались в таблице, ну то есть простое перечитываение таблицы..через Query... уже по всякому ставил эти параметры, "грязных" данных так и не видно..
  • Правильный$Вася (16.09.08 15:05) [1]

    > "грязных" данных так и не видно

    из твоей же программы?
    СУБД какая?
  • Tonich (16.09.08 15:08) [2]
    да моя же программа, FireBird 2.0

    там происходит типа такого ...


    ....
         EditSQL.ExecQuery;
    ....
         Reload;



    в Reload; и происходит перечтение таблицы
  • Правильный$Вася (16.09.08 15:22) [3]
    зачем перечитывать таблицу, если все изменения уже можно отправлять из редактируемого датасета
  • Tonich (16.09.08 15:32) [4]

    > если все изменения уже можно отправлять из редактируемого
    > датасета

    что-то я не понял каким образом. Изменения происходят через TEditSQL
  • Поросенок Винни-Пух © (16.09.08 15:32) [5]
    Существует 4 стандартных уровня (ANSI SQL-92) изолированности транзакций:

    Dirty Read - "грязное" (или "незафиксирование") чтение. Транзакция может читать не подтверджденные изменения, сделанные в других транзакциях. В IB этот режим не поддерживается. Например, если транзакции A и B стартовали, и поменяли записи, то они обе видят изменения друг друга.


    http://www.ibase.ru/devinfo/ibtrans.htm
  • Tonich (16.09.08 15:37) [6]

    > Поросенок Винни-Пух ©   (16.09.08 15:32) [5]

    читал...
  • Поросенок Винни-Пух © (16.09.08 15:44) [7]
    ну так нет там этого уровня изоляции
  • Tonich (16.09.08 15:50) [8]
    ну хорошо, есть вариант ыкак разрулить подобную ситуацию?
  • MsGuns © (16.09.08 15:51) [9]
    При данной технологии редактирования (длительное время между началом и завершением процесса правки данных на клиенте и отправке изменений "оптом") управлять кэшем следует не на стороне сервера, подолгу держа открытыми пишущие транзакции,  а на сторооне клиента, используя кэш датасета либо в сетке, не связанной напрямую с БД
  • Правильный$Вася (16.09.08 16:01) [10]

    > что-то я не понял каким образом

    открыл датасет
    редактируешь в нем данные, пока не надоест - любые записи, без перечитывания с сервера
    захотел - сохранил оптом, переоткрыл
    испугался - не сохранил оптом, можно не переоткрывать
  • Tonich (16.09.08 16:04) [11]

    > Правильный$Вася   (16.09.08 16:01) [10]


    > MsGuns ©   (16.09.08 15:51) [9]

    все, понял спасибо )
 
Конференция "Базы" » Параметры транзакции [D7]
Есть новые Нет новых   [134435   +34][b:0][p:0.001]