Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

ошибка в IBAlloc   Найти похожие ветки 

 
Desperado ©   (2004-08-27 09:15) [0]

Есть IBQuery, которая возвращает набор данных, состоящий из очень больших полей. Каждая запись весит очень прилично.
При первом открытии IBQuery все впорядке.
При втором возникает ошибка EOutOfMemory "Out of memory".
Эта ошибка возникает в процедуре IBAlloc (unit IB)
в строчке ReallocMem(Pointer(P), NewSize);.

IBQuery.BufferChunks равно 100000.
Если делать больше, то эта ошибка возникает с первого раза, если меньше - возникает Invalid Pointer Operation.

Как избавиться от этой проблемы?

Delphi5 SP1, SP2, IBX 5.04, использую borlndmm.dll (sharemem).
Программа - сервер приложений MIDAS.


 
s999   (2004-08-27 11:21) [1]


> Есть IBQuery, которая возвращает набор данных, состоящий
> из очень больших полей


Что значит из очень больших? В ширину очень больших? Или просто записей запрос возвращает много? Судя по играм с BufferChunks второе. Тогда что удивляться, просто память системы кончается, слишком большой объем.


 
Desperado ©   (2004-08-27 15:37) [2]

Это значит, что поля типа Varchar(8000) и таких в записи много.
Записей не так много. Вот.
А делать то что?


 
s999   (2004-08-27 16:12) [3]


> А делать то что?


Ну, первые варианты, что приходят в голову:

1. Varchar(8000) переделать в Blob.
2. Ограничивать кол-во записей, возвращаемых запросом.
3. Вместе с п.2 BufferChunks сделать меньше, чем 100000.
4. Если предыдущее невозможно, то, может быть, воспользоваться "малокэширующими" компонентами (gb_DataSets).


 
Desperado ©   (2004-08-28 08:20) [4]

попробуем, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
14-1094297684
qwerty1000
2004-09-04 15:34
2004.09.26
delphi и hyper-threading


14-1094741251
Копир
2004-09-09 18:47
2004.09.26
Эй, иногородние, скоро Вас в Москву не пустят.


1-1094837644
x_michael
2004-09-10 21:34
2004.09.26
У.М.Д. подскажите плз как получить непрямоугольную область


14-1094725175
Ditrix
2004-09-09 14:19
2004.09.26
свободное ПО. конференция в Киеве.


14-1094810498
olookin
2004-09-10 14:01
2004.09.26
Есть ли термин?