![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
временные db файлы при формировании запросов [D5, Paradox]
leonon © (2003-09-15 17:35:00)
Добрый вечер! При формировании запросов (Paradox, BDE) в приват директории формируются временные DB файлы. Кто за это отвечает и как грамотно их удалять?
MsGuns (2003-09-17 19:05:00) [1]
Если все эти N запросов нудно выполнять последовательно, то используй один компонент TQuery, каждый раз его динамически формируя.
Hawk2 (2003-09-17 18:22:00) [2]
Может просто Кверь закрывается раньше чем выполнятся все необходимые действия для его открытия. Получается некорректное закрытие запроса. Попробуйте открыть и закрыть эти таблицы (ну хоть часть если их много) вручную и посмотрите что получится.
Leonon (2003-09-17 16:53:00) [3]
Правильно, но прога то не вылетает и эксцепшены не лезут! Все работает корректно, да и часть временных файлов по закрытию программы то же пропадают. А часть, именно N штук - остается! :((((
Hawk2 (2003-09-17 15:50:00) [4]
А я и не говорил что код имеет какое-то отношение.
Всеравно что-то там у тебя неправильно закрывается. У меня например эти файлы остаются только если прога вылетела, комп завис и пр.
Anatoly Podgoretsky (2003-09-17 15:43:00) [5]
Leonon © (15.09.03 17:50) [2]
Этот код к проблеме не имеет отношения.
То про что ты говоришь имеет отношение к сессии.
Leonon (2003-09-17 15:17:00) [6]
Объясняю. База очень большая. Происходит обработка файлов в цикле. Для каждого файла формируется своя выборка, по своим параметроам. Ячно?
Hawk2 (2003-09-17 14:13:00) [7]
Код выглядит примерно так
for I:=1 to N do begin
...
Query.Open;
try
...
finally
Query.Close;
end;
...
end;
Я не могу понять смысл этого кода. Это типа N раз открывается один и тот же Кверь, а потом N раз закрывается? И зачем?
leonon (2003-09-17 13:11:00) [8]
Этот вариант хорош, но неужели нужно все-таки в ручную?
Вот в доке прочитал, есть следующие свойства и методы у TSession:
PrivateDir - Определяет каталог временных файлов, генерируемых BDE для компонентов баз данных TDatabase, связанных с данным компонентом
DropConnections - Уничтожает все неактивные временные компоненты баз данных TDatabase, связанные с сеансом
Однако это не помогает... Что еще посмотреть или попробовать?
MsGuns (2003-09-15 20:10:00) [9]
В событии OnCreate Гл.формы ДО открытия TdataBase (или в ее отсутствии первогозапроса) чистить Private-каталог. То же самое и в OnCloseQuery/OnClose формы после закрытия последнегоНД
Leonon (2003-09-15 19:19:00) [10]
Ну что, ни у кого нет идей? :((
Leonon (2003-09-15 17:50:00) [11]
Код выглядит примерно так
for I:=1 to N do begin
...
Query.Open;
try
...
finally
Query.Close;
end;
...
end;
Что тут может быть неправильного? Однако ж файлов столько, сколько N, и при закрытии приложения они не удаляются. Как правильно?
Anatoly Podgoretsky (2003-09-15 17:47:00) [12]
За это отвечает BDE, а удалять не нужно, при правильной работе сами удаляются.