![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакция и INSERT? D6, Paradox
aleks-ran © (2004-09-30 11:55:00)Уважаемые мастера, при попытке выполнения нижеприведенного кода, на выделенном блоке вываливаюсь с сообщением об ошибке: Too many record lock on table. И ругается на отсутствие в директории программы ERRORINS.DB
Если этот блок вывести за пределы транзакции то все ОК.
В таблицах Storage, ReserveStorage все поля числовые кроме Article - Alpha[18] - Ключевое поле. (около 500 записей).
Пробовал в цикле
INSERT INTO Storage (Article, Rest, Income, Expense, Number)
VALUES ('Значение поля Article в ReserveStorage', 'Значение поля Rest в ReserveStorage', 0, 0, 'Значение поля Rest в ReserveStorage')
Вываливаюсь с сообщением Key Violation где-то после половины.
Подскажите, плиз в чем, возможно, причина.
begin
with qrUpdate do begin
Active:=False;
dbUpdates.StartTransaction;
try
SQL.Clear;
SQL.Add('DELETE FROM Storage');
ExecSQL;
----------------------------------------------------------------------------------------------------------------------
SQL.Clear;
SQL.Add('INSERT INTO Storage (Article, Rest, Income, Expense, Number)');
SQL.Add('SELECT Article, Rest, 0, 0, Rest FROM ReserveStorage');
ExecSQL;
----------------------------------------------------------------------------------------------------------------------
dbUpdates.Commit;
except
dbUpdates.Rollback;
raise;
end;
end;
aleks-ran (2004-09-30 13:20:00) [1]Всем спасибо, прийдется перестраиваться на клиент-сервер.
Romkin (2004-09-30 12:57:00) [2]aleks-ran © (30.09.04 12:44) [1] Опытным путем :)) Есть же BDE Help, там четко написано: в транзакции допустимо менять 255 записей для Парадокса или 100 для dBase. А лучше вообще транзакции не использовать :))
Sandman25 (2004-09-30 12:49:00) [3]Менять СУБД. Или отказаться от транзакции.
aleks-ran (2004-09-30 12:44:00) [4]Опытным путем установил, что ограничение на вставку 255 записей, как обойти это ограничение?