Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
 Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Sinemurius
Member

Откуда:
Сообщений: 74
Добрый день.

Столкнулся с очень странной ситуацией: делаю UPDATE (вызываю TFDQuery.ExecSQL). Изменения отслеживаю в IBExpert-е. Их (изменений) нет.
После того, как приложение закрывается, изменения сразу появляются.

После попытки разобраться выяснилось:

1. Проблема возникает независимо от того: используется неявная или явная транзакция
2. Приложение держит транзакцию после того, как должна была завершиться неявная или явная транзакция.
3. Транзакция освобождается, когда закрывается TFDConnection
4. С настройками все в порядке, уровень изоляции: Read commited

Заранее спасибо за мысли и идеи по поводу данной проблемы.
5 мар 19, 11:00    [21825150]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 630
Sinemurius,

транзакцию нужно подтверждать.
Явно (т.е., руками), или специальной опцией.
5 мар 19, 11:08    [21825155]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
goldmi45
Member

Откуда:
Сообщений: 1117
Sinemurius,

А почему вы решили, что это проблема? Данные будут доступны другим пользователям только после подтверждения транзакции, что и происходит при закрытии приложения.
5 мар 19, 11:08    [21825156]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 630
Sinemurius,

статейка про FireDAC + Firebord: https://habr.com/ru/post/273549/
5 мар 19, 11:11    [21825160]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
DarkMaster
Member

Откуда: Donetsk,Ukraine
Сообщений: 6172
Фэйтл Эра,

В форуме по FB - можешь и с автором напрямую пообщаться :)

P.S. Ничего, что статья 2015 года?
5 мар 19, 11:36    [21825179]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 630
DarkMaster
...
P.S. Ничего, что статья 2015 года?

Ничего, читай, не смущайся.
5 мар 19, 11:48    [21825187]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Sinemurius
Member

Откуда:
Сообщений: 74
Фэйтл Эра
транзакцию нужно подтверждать.
Явно (т.е., руками), или специальной опцией.


Пробовал. Я написал там, что использовал как явную, так и неявную транзакцию

goldmi45
А почему вы решили, что это проблема? Данные будут доступны другим пользователям только после подтверждения транзакции, что и происходит при закрытии приложения.

Другим пользователям данные могут понадобиться ранее, чем при закрытии приложения

Спасибо за статью, сейчас почитаю.
5 мар 19, 11:49    [21825190]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 630
Sinemurius
...
Пробовал. Я написал там, что использовал как явную, так и неявную транзакцию
...

Расскажи, как ты "использовал".
5 мар 19, 11:52    [21825195]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9692
Версия RAD Studio ?
5 мар 19, 12:01    [21825204]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29674

05.03.2019 11:49, Sinemurius пишет:
> Спасибо за статью, сейчас почитаю.

не стОит.
на хабре одни питарасы.

Posted via ActualForum NNTP Server 1.5

5 мар 19, 12:11    [21825211]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
AlexeyM123
Member

Откуда:
Сообщений: 146
PDF_on_IBASE
5 мар 19, 12:23    [21825223]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 630
AlexeyM123,

та же самая статья-то.
5 мар 19, 12:29    [21825234]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
zinpub
Member

Откуда:
Сообщений: 342
AutoCommit какое значение?

или ручками Commit вызвать?
5 мар 19, 12:34    [21825244]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Sinemurius
Member

Откуда:
Сообщений: 74
Спасибо всем.

Дело по видимому в свойстве CachedUpdates.
5 мар 19, 12:37    [21825255]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Фэйтл Эра
Member

Откуда:
Сообщений: 630
Sinemurius,

ну ты хоть расскажи, что именно не так было и как нужно правильно.
5 мар 19, 12:40    [21825262]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
AlexeyM123
Member

Откуда:
Сообщений: 146
Фэйтл Эра
AlexeyM123,

та же самая статья-то.


так pdf-то лучше

кстати , если Симонов Денис читает, книга про Firebird будет ?
5 мар 19, 12:52    [21825284]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Sinemurius
Member

Откуда:
Сообщений: 74
Фэйтл Эра
Sinemurius,

ну ты хоть расскажи, что именно не так было и как нужно правильно.


CachedUpdates - Определяет, будет ли набор данных кэшировать изменения без немедленного внесения их в базу данных. Если это свойство установлено в значение True, то любые изменения (Insert/Post, Update/Post, Delete) вносятся в базу данных не сразу, а сохраняется в специальном журнале.


Нужно было установить в False
5 мар 19, 13:02    [21825300]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
zinpub
Member

Откуда:
Сообщений: 342
Sinemurius
Фэйтл Эра
Sinemurius,

ну ты хоть расскажи, что именно не так было и как нужно правильно.


CachedUpdates - Определяет, будет ли набор данных кэшировать изменения без немедленного внесения их в базу данных. Если это свойство установлено в значение True, то любые изменения (Insert/Post, Update/Post, Delete) вносятся в базу данных не сразу, а сохраняется в специальном журнале.


Нужно было установить в False


А оно по умолчанию True?
5 мар 19, 13:06    [21825306]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Sinemurius
Member

Откуда:
Сообщений: 74
По умолчанию в FALSE, но в приложении, которое я разбирал - TRUE.
5 мар 19, 13:09    [21825312]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
zinpub
Member

Откуда:
Сообщений: 342
Sinemurius
По умолчанию в FALSE, но в приложении, которое я разбирал - TRUE.


Понятно, а может там где-то ApplyUpdates, CommitUpdates есть?
Я к тому что можно логику поломать...
5 мар 19, 13:16    [21825316]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Vlad F
Member

Откуда:
Сообщений: 706
Sinemurius,

Разобрал? Теперь будешь по частям продавать преподу?))
5 мар 19, 13:18    [21825320]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27854
AlexeyM123
если Симонов Денис читает, книга про Firebird будет ?

он не пишет книгу, он пишет документацию.
5 мар 19, 13:41    [21825347]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
AlexeyM123
Member

Откуда:
Сообщений: 146
kdv
AlexeyM123
если Симонов Денис читает, книга про Firebird будет ?

он не пишет книгу, он пишет документацию.


был анонс
5 мар 19, 14:18    [21825397]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27854
AlexeyM123,

а, тогда пишет
5 мар 19, 15:28    [21825475]     Ответить | Цитировать Сообщить модератору
 Re: Firedac: БД Firebird изменения применяются после закрытия приложения  [new]
Vlad F
Member

Откуда:
Сообщений: 706
kdv,

Может и пишет. А может забил. Как проверишь-то?))
5 мар 19, 17:42    [21825640]     Ответить | Цитировать Сообщить модератору
Все форумы / Delphi Ответить