![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись в базу и ошибкаdeadlock [D7, FireBird]
Xmen © (2010-01-27 09:07:00)Запись в базу и ошибка
deadlock
update conflicts wit concurent update concurrent transaction number is 8272.
Это выходить когда в базу соединятся в одно время более одного клиентского приложения и начинается запись.
Xmen (2010-01-27 14:23:00) [1]а есть ли разница при использование компонент табле и датасет на транзакцию?
Sergey13 (2010-01-27 13:42:00) [2]ibase.ru
Xmen (2010-01-27 13:21:00) [3]как это можно сделать.
где можно это узнать более подробно?
Sergey13 (2010-01-27 13:13:00) [4]> [3] Xmen (27.01.10 12:44)
Коротко - пишущая транзакция не должна ничего ждать типа ввода пользователя и т.п. Она должна быть активна столько, сколько выполняется код внутри ее.
Xmen (2010-01-27 12:44:00) [5]коротко можете проконсультировать по этому, мне тоже кажется что я плохо это сделал.
В проге использовал ДатаСет, ДатаБэйс, транзакцию. как нужно организовать правильную транзакцию при котором можно было бы работать с базой из нескольких компов.
12 (2010-01-27 10:31:00) [6]1. Делать транзакции вообще
2. Делать транзакции, как можно короче
3. Делать все единообразно
например, если программа обновляет А, потом после внутренних пересчетов Б,
то так желательно делать всегда. А то в другой части программы начинают с Б, и только потом доходят до А.
Sergey13 (2010-01-27 09:09:00) [7]Это значит скорее всего, что ты плоховато работаешь с транзакциями.