Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

BDE, TTable, TQuery, TBatchMove, ошибка "Table is full" [D3, MSSQL, Paradox]


Циркуль ©   (2007-07-17 16:22:00) 

При создании отчета из базы MSSQL на клиента запросом засасывается довольно большой кусок данных (~300К записей, ~40 полей). Затем результат запроса перекидывается в объект TTable при помощи TBatchMove (зачем - не спрашивайте, так надо :) ).

...
Query.Open;
Table := TTable.Create(nil);
Table.DataBaseName := '...';
Table.TableName := ...\temp_rep.db';
...
BatchMove.Execute; // из Query в Table
...


Так вот, в момент вызова TBatchMove.Execute, вернее при вызове там DbiBatchMove(...) вываливается сообщение "Table is full". В этот момент файл temp_rep.db на диске достигает размера ~260МБ. В чем может быть дело, ведь парадоксовские таблицы могут "расти" до 2Гб, вроде?


Anatoly Podgoretsky   (2007-07-17 19:35:00) [1]

> Циркуль  (17.07.2007 17:32:05)  [5]

Более полное использование блоков.
У Парадокса кластерная система базы.


Циркуль   (2007-07-17 17:32:00) [2]

Собсно, я, вроде, и не просил никого "копипастом заниматься". Мог бы погуглить - погуглил бы. Спросил здесь в расчете на то, что найдется человек, хорошо знакомый с Парадоксом и способный указать в чем проблема.


> Anatoly Podgoretsky ©   (17.07.07 16:30) [3]
> Не в TTable а в физическую таблицу, которая у тебя неверно
> настроена.
> Решение только одно пересоздавать таблицу с другим размером
> блока и перекачивать в нее старые данные. Ставь максимальный
> размер блока.


Помогло. Прописал в настройках Парадоксовского драйвера Level = 7 (вместо 4) и Block Size = 32768 (вместо 2048). Отработало до конца (правда размер файла на диске почему-то получился 255Мб всего, против 260Мб до этого :) ).
Спасибо.


Johnmen   (2007-07-17 16:36:00) [3]


> Доступ есть только сюда и на королевство =\

Никто здесь копипастом заниматься не будет.


Циркуль   (2007-07-17 16:30:00) [4]

Доступ есть только сюда и на королевство =\


Anatoly Podgoretsky   (2007-07-17 16:30:00) [5]

Не в TTable а в физическую таблицу, которая у тебя неверно настроена.
Решение только одно пересоздавать таблицу с другим размером блока и перекачивать в нее старые данные. Ставь максимальный размер блока.


Johnmen   (2007-07-17 16:27:00) [6]

http://www.yandex.ru/yandsearch?text=Table+is+full+paradox


Наверх

Титульная страница Поиск, карта сайта Написать письмо