-
Добрый день всем!
У меня следующая проблема:
База данных, собранная в Access перенесена на MS SQL Server 2000
Я подключаюсь к ней с 2х компов одновременно с помощью компонента ADOConnection. Когда я пытаюсь записатьв одну и ту же таблицу через ADOTable с 2х компов одновременно или даже через пару секунд, все виснит.
Вот такой код выполняется а на обоих компах одновременно.
ADOSystemTable.Edit;
ADOSystemTable.FieldByName('Кол-во').AsInteger:=ADOSystemTable.Fiel dByName('Кол-во').AsInteger+kolvo;
ADOSystemTable.FieldByName('Сумма') .AsCurrency:=ADOSystemTable.FieldBy Name('Кол-во').AsInteger*ADOSystemTable.Field ByName('Цена').AsCurrency;
ADOSystemTable.Post;
Как сделать чтоб транзакции становились в очередь?
-
> все виснит.
виснет все из-за того, что используешь не sql, а ADOTable.
> Как сделать чтоб транзакции становились в очередь?
какая очередь? ... действий на пару миллисекунд... очередь дольше составлять чем это выполниться.
-
> Crocklam (25.04.2010 18:51:00) [0]
Никогда не использовать ADOTable
-
Тем более с архитектурой клиент-сервер. В однопользовательских локальных можно, но ненужно.
-
тут скорее в отсутствии коммита дело
-
Транзакции вообще-то и так по очереди выполняются :)
-
Косяк понял, но если в одну и ту же запись одной и той же таблицы идет запись с 2х компов то один записывает а второй нет, а можно сделать чтобы второй не прерывался а ждал и пытался снова?