![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ClientDataSet: Insufficient memory for this operation [D7, Firebird 2.1]
RWolf © (2010-12-16 12:47:00)Ничем не примечательная табличка, 12 полей, из них 2 блоба по 16 байт.
Сервер приложений подключается к таблице через связку TIBDataSet + TDataSetProvider; на клиенте просто TClientDataSet.
По достижении числа записей в таблице некоего критического значения (где-то 30 тыс. записей) получаю вышеуказанную ошибку при попытке открытия клиентского датасета.
До этого с TClientDataSet не работал поэтому, возможно, упускаю какую-то тонкость; так или иначе, в чём может быть причина ошибки?
RWolf (2010-12-20 11:39:00) [1]
> Правильный$Вася (18.12.10 16:06) [7]
приложение.
датасета было бы достаточно, но у клиента нет подключения к БД, только к серверу приложений.
Правильный$Вася (2010-12-18 16:06:00) [2]приложение просматривает или юзер?
если юзер, то не верю
если приложение, то CDS не нужен, достаточно однонаправленного датасета
RWolf (2010-12-17 17:21:00) [3]
> Правильный$Вася (17.12.10 13:28) [5]
клиентское приложение просматривает все записи из таблицы (лог).
Правильный$Вася (2010-12-17 13:28:00) [4]какой смысл тащить в CDS 30000 записей???
RWolf (2010-12-16 19:50:00) [5]заменил BLOB-поля на строки — ошибки пропали.
Игорь Шевченко (2010-12-16 14:58:00) [6]Аналогичный случай был в Тамбове:
http://delphimaster.net/view/3-1160361442
Игорь Шевченко (2010-12-16 14:42:00) [7]
> По достижении числа записей в таблице некоего критического
> значения (где-то 30 тыс. записей) получаю вышеуказанную
> ошибку при попытке открытия клиентского датасета.
Это у TdataSet не хватает памяти.
Попробуй использовать dbexpress
RWolf (2010-12-16 12:48:00) [8]Другой вариант ошибки — Out of memory while expanding memory stream.
Исчерпания виртуальной памяти приложения, разумеется, и близко нет.