Форум: "Базы";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
ВнизInsufficient memory блин... Найти похожие ветки
← →
Oleg_em (2003-11-21 08:10) [0]Добрый день !
вот пришлось таки использовать BDE для работы с парадоксовыми таблицами, работаю с TQuery и часто появляется ошибка недостаточности памяти для выполнения операции.
в BDE Admin Config->System->INIT всяка игрался с параметрами
один фик...
+ после запросов появляются файлы _qsq1.db,[2]
BDE 5.01
где еще что подкрутить ?
таблицы то небольшие.. 40 000, 360 000 записей
← →
Виталий Панасенко (2003-11-21 08:49) [1]Смотря, какие запросы ты выполняешь... У меня был ну очень простой - обновить поле одной таблицы, значениями другой... Не хватало FILE HANDLE. Пришлось в MS SQL запихнуть.. Да, у меня были DBF... Но разницы, по моему, нет... Просто БДЕ не тянет
← →
RDen (2003-11-21 08:50) [2]1. У меня было такое пока работал в 98-й винде.
2. После "неаварийного" закрытия запроса временные файлы (типа _qsq1.db) уничтожаются, а у Вас они остаються видимо из-за того, что прога "вылетает".
← →
Oleg_em (2003-11-21 09:01) [3]Просто БДЕ не тянет,
оптимистичное замечание ;-)
← →
Oleg_em (2003-11-21 09:05) [4]2RDen прога не вылетает, т.к. все ExecSQL обрамлены в Try .. Except
сейчас поставил в настройке LOCAL SHARE = TRUE
стало гораздо лучче ;-)
похоже это и есть решение проблемы.
P.S. у меня XP, так что я был очень удивлен нехваткой памяти ;-)
← →
ЮЮ (2003-11-21 09:19) [5]>прога не вылетает, т.к. все ExecSQL обрамлены в Try .. Except
А в самом коде ошибок не бывает? ExecSQL программу не завалит, а вот AV - может (или Program Reset из-под IDE)
← →
Nikolay M. (2003-11-21 09:25) [6]
> появляется ошибка недостаточности памяти для выполнения
> операции
Программу при отладке по Ctrl+F2 закрываешь?
← →
Рамиль (2003-11-21 09:59) [7]
> Программу при отладке по Ctrl+F2 закрываешь?
Да уж, при работе с BDE прогу по Ctrl+F2 лучше не закрывать, а то потом перезагрузкой лечить надо.
← →
Silver Alex (2003-11-21 10:06) [8]запусти BDE, Configuration->Drivers->Native->Paradox->Block Size
поставь побольше, например 2048, может поможет
← →
Anatoly Podgoretsky (2003-11-21 10:23) [9]LOCAL SHARE = FALSE требует очень много памяти.
Silver Alex © (21.11.03 10:06) [8]
А это еще зачем, у него нет ошибки TABLE FULL
← →
Silver Alex (2003-11-21 10:42) [10]
> Anatoly Podgoretsky © (21.11.03 10:23) [9]
Возможно я и ошибаюсь, но думаю дело в этом, можно хотя бы попробовать
← →
Oleg_em (2003-11-21 11:06) [11]ого какая дискуссия тут ;-)
@Silver Alex у меня и было 2048
изменение размера блока ни к чему хорошему не привело
> Программу при отладке по Ctrl+F2 закрываешь?
нет, закрывается всё нормальным образом.
повторюсь, установка параметра LOCAL SHARE = TRUE
оказалось правильным решением !
по крайней мере на текущий момент ;-)
← →
Oleg_em (2003-11-21 15:16) [12]фик, все вернулось как было
уже просто не знаю что делать.......
мож BDE 5.01 глючный ?
← →
Silver Alex (2003-11-21 15:43) [13]
> @Silver Alex у меня и было 2048
> изменение размера блока ни к чему хорошему не привело
и что случилось?
← →
Oleg_em (2003-11-21 15:49) [14]когда увеличил до 4096 работать стало горазде медленнее
при 1024 положительного результата (исчезновение Insufficientа)не принесло
есть подозрение, что в случае с парадоксом нельзя применять
запросы типа select a.kod, b.name, c.date from "base\kod" a, "sprav\name" b, "sprav\date" d where [бум бурум}
в смысле что собирать в один запрос данные из разных таблиц...
попробую еще переделать логику работы в этом плане...
← →
Anatoly Podgoretsky (2003-11-21 15:55) [15]Все запросы выполняются на клиентской машине, для этого таблицы требуется туда закачать. Если не требуется двухнапрпвленый курсор, то стоит сменить на однонаправленый. Зависит от использования запроса.
← →
служивый (2003-11-21 19:44) [16]Попробуй принудительно указать PrivDir при старте приложения
← →
ЮЮ (2003-11-22 08:01) [17]запросы типа select a.kod, b.name, c.date from "base\kod" a, "sprav\name" b, "sprav\date" d where [бум бурум} в Paradox-е оформляются так:
select a.kod, b.name, c.date from ":Base:kod" a, ":Sprav:name" b, "":Sprav:date" d where [бум бурум}
где :Sprav, ":Base - алиасы
см. "Heterogeneous joins" в LocalSQL
>в смысле что собирать в один запрос данные из разных таблиц
Это называется из разных баз данных , а таблицы, вообще-то, следует хранить в одной базе данных
← →
Oleg_em (2003-11-24 07:42) [18]2ЮЮ
пробовал и так, результат тотже.
что интересно, Query.Close не приводит к освобождению памяти и удалению файлов _qsq.db, мож там нада еще какие шаманства применять...
P.S. я знал что есть проблемы PARADOX-BDE-DELPHI
но штоб ТАКИЕ !!!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c