Конференция "Базы" » Транзакции в очередь? [D7, MSSQL]
 
  • Crocklam (25.04.10 18:51) [0]
    Добрый день всем!

    У меня следующая проблема:

    База данных, собранная в 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;

    Как сделать чтоб транзакции становились в очередь?
  • sniknik © (25.04.10 19:07) [1]
    > все виснит.
    виснет все из-за того, что используешь не sql, а ADOTable.

    > Как сделать чтоб транзакции становились в очередь?
    какая очередь? ... действий на пару миллисекунд... очередь дольше составлять чем это выполниться.
  • Anatoly Podgoretsky © (25.04.10 19:28) [2]
    > Crocklam  (25.04.2010 18:51:00)  [0]

    Никогда не использовать ADOTable
  • Amoeba_ (25.04.10 22:52) [3]
    Тем более с архитектурой клиент-сервер. В однопользовательских локальных можно, но ненужно.
  • Petr V. Abramov © (26.04.10 14:38) [4]
    тут скорее в отсутствии коммита дело
  • MsGuns © (27.04.10 11:26) [5]
    Транзакции вообще-то и так по очереди выполняются :)
  • Crocklam (28.04.10 16:52) [6]
    Косяк понял, но если в одну и ту же запись одной и той же таблицы идет запись с 2х компов то один записывает а второй нет, а можно сделать чтобы второй не прерывался а ждал и пытался снова?
 
Конференция "Базы" » Транзакции в очередь? [D7, MSSQL]
Есть новые Нет новых   [134433   +21][b:0][p:0]