Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Много инсертов подряд. [D7, MySQL]


ryabis ©   (2010-02-11 09:56:00) 

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. Пытался увеличить его размер, но это не помогло.
Как сделать так, чтобы буфер автоматом освобождался и записи могли непрерывно добавляться?


KilkennyCat   (2010-02-13 13:22:00) [1]

А если не коммить, то смысл выполнять запрос? Не логичнее ли его аккумулировать?


Плохиш   (2010-02-13 13:15:00) [2]


> qry.Sql.Clear;
> qry.SQL.Add

qry.SQL.Text :=


12   (2010-02-11 12:52:00) [3]

если 1-2 секунды, думаю, можно и после каждой коммитить


sniknik   (2010-02-11 10:34:00) [4]

> Данные же все равно "сыпятся" в базу одинаково?
кто вам сказал такую глупость?

> 2. Когда делаю коммит, начинает ругаться.
делай в процессе периодически, а не один раз в конце работы.

> qry.Close;
лишнее


ryabis   (2010-02-11 10:28:00) [5]

1. Какая разница как отправлять запрос? Данные же все равно "сыпятся" в базу одинаково?
2. Когда делаю коммит, начинает ругаться.


Sergey13   (2010-02-11 10:08:00) [6]

1. Что мешает использовать параметрический запрос?
2. Коммит делаешь когда нибудь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо