Конференция "Базы" » ClientDataSet: Insufficient memory for this operation [D7, Firebird 2.1]
 
  • RWolf © (16.12.10 12:47) [0]
    Ничем не примечательная табличка, 12 полей, из них 2 блоба по 16 байт.
    Сервер приложений подключается к таблице через связку TIBDataSet + TDataSetProvider; на клиенте просто TClientDataSet.
    По достижении числа записей в таблице некоего критического значения (где-то 30 тыс. записей) получаю вышеуказанную ошибку при попытке открытия клиентского датасета.
    До этого с TClientDataSet не работал поэтому, возможно, упускаю какую-то тонкость; так или иначе, в чём может быть причина ошибки?
  • RWolf © (16.12.10 12:48) [1]
    Другой вариант ошибки — Out of memory while expanding memory stream.
    Исчерпания виртуальной памяти приложения, разумеется, и близко нет.
  • Игорь Шевченко © (16.12.10 14:42) [2]

    > По достижении числа записей в таблице некоего критического
    > значения (где-то 30 тыс. записей) получаю вышеуказанную
    > ошибку при попытке открытия клиентского датасета.


    Это у TdataSet не хватает памяти.

    Попробуй использовать dbexpress
  • Игорь Шевченко © (16.12.10 14:58) [3]
    Аналогичный случай был в Тамбове:
    http://delphimaster.net/view/3-1160361442
  • RWolf © (16.12.10 19:50) [4]
    заменил BLOB-поля на строки — ошибки пропали.
  • Правильный$Вася (17.12.10 13:28) [5]
    какой смысл тащить в CDS 30000 записей???
  • RWolf © (17.12.10 17:21) [6]

    > Правильный$Вася   (17.12.10 13:28) [5]

    клиентское приложение просматривает все записи из таблицы (лог).
  • Правильный$Вася (18.12.10 16:06) [7]
    приложение просматривает или юзер?
    если юзер, то не верю
    если приложение, то CDS не нужен, достаточно однонаправленного датасета
  • RWolf © (20.12.10 11:39) [8]

    > Правильный$Вася   (18.12.10 16:06) [7]

    приложение.
    датасета было бы достаточно, но у клиента нет подключения к БД, только к серверу приложений.
 
Конференция "Базы" » ClientDataSet: Insufficient memory for this operation [D7, Firebird 2.1]
Есть новые Нет новых   [134469   +11][b:0][p:0]