-
Delphi 2007 + dbExpress + MySQL 5.0.45
По таймеру с периодичностью в 1-5 сек. добавляется запись в таблицу:qry.Sql.Clear;
qry.SQL.Add('Insert into MOTION (P_COORD_X, P_COORD_Y) VALUES ( '+floattostr(XTemp1)+', '+floattostr(YTemp1)+');');
qry.ExecSQL;
qry.Close;
Возникла проблема с тем, что когда кол-во добавленных подряд записей достигает определенного значения выскакивает ошибкаcan't create a new thread (errno 12); if you are not out of available memory, you can consult the manual for a possible OS-dependent bug
Понятно, что переполняется буфер в MySQL. Пытался увеличить его размер, но это не помогло.
Как сделать так, чтобы буфер автоматом освобождался и записи могли непрерывно добавляться? -
1. Что мешает использовать параметрический запрос?
2. Коммит делаешь когда нибудь? -
1. Какая разница как отправлять запрос? Данные же все равно "сыпятся" в базу одинаково?
2. Когда делаю коммит, начинает ругаться. -
> Данные же все равно "сыпятся" в базу одинаково?
кто вам сказал такую глупость?
> 2. Когда делаю коммит, начинает ругаться.
делай в процессе периодически, а не один раз в конце работы.
> qry.Close;
лишнее -
12 © (11.02.10 12:52) [4]если 1-2 секунды, думаю, можно и после каждой коммитить
-
Плохиш © (13.02.10 13:15) [5]
> qry.Sql.Clear;
> qry.SQL.Add
qry.SQL.Text := -
KilkennyCat © (13.02.10 13:22) [6]А если не коммить, то смысл выполнять запрос? Не логичнее ли его аккумулировать?