Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Вниз

При изменении информации, размер *.mb файла не уменьшается!   Найти похожие ветки 

 
Zaero   (2005-08-08 11:25) [0]

Господа программисты, у меня следующая проблема:
Пишу программу, использующую базу данных - таблицы PARADOX (*.db). В одной из таблиц я создал поля BLOB MEMO и BLOB GRAPH. Поля BLOB используются для хранения больших объемов двоичной информации - при создании их требуется ввести количество символов хранящихся в основной таблице (*.db), остальные символы сохраняются в отдельный файл (*.mb). Так вот, господа, проблема в следующем: если в процессе работы программы внести информацию в поле BLOB (с помощью компонентов DBMemo или, DBImage), *.mb файл послушно увеличивается на объем внесенной информации. Если же я после этого внесенную информацию удаляю (присваиваю "" через DBMemo), происходит такая неприятная вещь: место, занимаемое удаленной информацией объявляется свободным внутри *.mb файла, однако сам файл в размере не уменьшается!
Например сначала я присваиваю полю BLOB MEMO 100К текста, - *.mb файл увеличится на 100К (допустим, в основной таблице сохраняется 0 символов). Затем я вместо этих 100К присваиваю "". Место объявляется свободным, но размер *.mb файла остается увеличенным на 100К. Если в последующем присваивать BLOB полям информацию, размер *.mb файла не будет увеличиваться, пока не будут заполнены освободившиеся 100К.
Подскажите пожалуйста, как сделать так, чтобы объем *.mb файла не только динамически увеличивался, но и динамически уменьшался при изменении информации!


 
Anatoly Podgoretsky ©   (2005-08-08 11:30) [1]

dbiDoRestructure


 
Zaero   (2005-08-08 12:09) [2]

2 Anatoly Podgoretsky: А можно поподробнее? Эту процедура? К какому компоненту ее применять? И какой модуль должен быть подключен?


 
Anatoly Podgoretsky ©   (2005-08-08 12:15) [3]

Модуль БДЕ, в справке есть пример использования. Применяется естественно к таблице.


 
Zaero   (2005-08-08 12:31) [4]

Table1.dbiDoRestructure - такой процедуры нет. В справке такая процедура тоже не находится. Напиши пожалуйста синтаксис.


 
Anatoly Podgoretsky ©   (2005-08-08 12:33) [5]

Очень невезливо по отношению к другим участникам конференции, копировать статью из стандартной справки. Если у тебя ее нет, то переинсталируй Дельфи, только на этот раз ставиь полностью.


 
sniknik ©   (2005-08-08 12:34) [6]

> В справке такая процедура тоже не находится.
сдесь найдется
"x:\Program Files\Common Files\Borland Shared\BDE\BDE32.HLP"


 
Anatoly Podgoretsky ©   (2005-08-08 12:39) [7]

sniknik ©   (08.08.05 12:34) [6]
Но он же написал, что справки у него нет!


 
sniknik ©   (2005-08-08 12:45) [8]

Anatoly Podgoretsky ©   (08.08.05 12:39) [7]
она в D7 просто не включена в обший хелп дельфей (по F1 из IDE не находится). надо руками подключать (в настройке справки), или прямо файл открывать.
(F1 ткнул и тишина... вестимо нету ;о)), а как оно туда попадает не в курсе просто)


 
Виталий Панасенко   (2005-08-08 12:52) [9]

DbiPackTable, кажись...


 
Виталий Панасенко   (2005-08-08 12:54) [10]

Не, соврал, кажись..Это (упаковка) параметр в реструктуризацию


 
Zaero   (2005-08-08 12:57) [11]

2Sniknik: О, спасибо! Справка нашлась.


 
Anatoly Podgoretsky ©   (2005-08-08 13:09) [12]

sniknik ©   (08.08.05 12:45) [8]
А зачем по F1, в системе много справок, в том числе и в Дельфи, надо или двойным щелчком или лучше создать папку и тудя ярлыки на нужные справки.


 
Anatoly Podgoretsky ©   (2005-08-08 13:11) [13]

Виталий Панасенко   (08.08.05 12:52) [9]
Парадокс не поддерживает упаковку, это дБейс имеет такую возможность, Парадокс только через пересоздание таблицы (реструктиризация).
Вот только я бы не стал подобное делать, это сильный провал в производительности. Это имеет смысл в очень редких случаях, место повторно используемое.


 
Виталий Панасенко   (2005-08-08 17:51) [14]


> Anatoly Podgoretsky ©   (08.08.05 13:11) [13]
> Виталий Панасенко   (08.08.05 12:52) [9]
> Парадокс не поддерживает упаковку, это дБейс имеет такую
> возможность, Парадокс только через пересоздание таблицы
> (реструктиризация).
> Вот только я бы не стал подобное делать, это сильный провал
> в производительности. Это имеет смысл в очень редких случаях,
> место повторно используемое.

Согласен... Только я люблю Paradox, как вы его ненавидите..И наоброт (относительно dBase :-)) ).. Просто я начал с Turbo Pascal/BP 7.0 и библиотеки Paradox Engine...



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

Форум: "Базы";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.01 c
1-1124786728
ищущий ответ
2005-08-23 12:45
2005.09.18
Куда пропадает кнопка?


3-1123481851
Layner
2005-08-08 10:17
2005.09.18
Как удалить БДЕ


1-1125071682
Andrej
2005-08-26 19:54
2005.09.18
Delphi 2005


1-1125213842
Jerry
2005-08-28 11:24
2005.09.18
Нужно конвертировать png2ico


14-1125072205
Cyberdemon
2005-08-26 20:03
2005.09.18
Это нормально что ФАК не работает и ...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский