
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
04.09.2019, 15:22
|
|||
|---|---|---|---|
|
|||
Firedac master-detail зависшая транзакция |
|||
|
#18+
Добрый день. Вопрос в большей степени к Dmitry Arefiev Используется среда разработки Embarcadero® Delphi 10.1 Berlin Version 24.0.25048.9432 БД: Firebird 2.5 На сервере приложений при помощи FireDac (FDQuery) используется связка Master-detail (FDQuery1 -> DataSource -> FDQuery2) На клиент все это дело передается через один TDataSetProvider. На клиенте разворачивается соответственно в ClientDataSet1 (master) и ClientDataSet2 (detail) Проблема возникает если в master таблице нет записей. В этом случае возникает зависшая транзакция и все изменения начинают происходить в рамках этой транзакции, соответственно в БД они записываются после закрытия клиента. Может у FDQuery есть какая-то волшебная галочка, которая исправляет эту проблему? Я сделал тестовые БД и пример, который воспроизводится в дизайн-тайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2019, 15:38
|
|||
|---|---|---|---|
|
|||
Firedac master-detail зависшая транзакция |
|||
|
#18+
транзакции нужно коммитить и откатывать тогда, когда это нужно. а не надеяться на "неестественный интеллект" библиотеки доступа. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2019, 16:01
|
|||
|---|---|---|---|
|
|||
Firedac master-detail зависшая транзакция |
|||
|
#18+
Для воспроизведения необходимо в дизайн тайме установить свойство Active в True у ClientDataSet1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.09.2019, 20:34
|
|||
|---|---|---|---|
|
|||
Firedac master-detail зависшая транзакция |
|||
|
#18+
Если в таблице master нет данных, то при открытии detail не выполняется процедура TFDCustomCommand.Fetch юнита FireDAC.Comp.Client, а в ней полю FOperationFinished должно присваиваться событие FetchFinished, которое закрывает транзакцию. В итоге остается открытая транзакция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&tablet=1&tid=2039076]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
152ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 428ms |

| 0 / 0 |
