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

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

Как упаковать файл Paradox? [D7, Paradox]


_ozzy_ ©   (2007-01-04 16:55:00) 

Как можно программно упаковать файл Paradox. Почти пустой файл занимает много места.


Anatoly Podgoretsky   (2007-01-17 19:38:00) [1]

> Desdechado  (17.01.2007 17:17:17)  [17]

Учитывая историю создания Парадокс это так, поэтому там и lck и net файлы, те СУБД, которые создавались сразу для работы с сетью таких извращений не имеют.
Сеть это мелочи, изначально в Парадоксе были только клавиатурные макросы. Четыре раза вправа, два раза вниз, F2 и т.д.
Ну стали просить пользователи и сеть и язык программирования, Борланд отрапортовал.


Anatoly Podgoretsky   (2007-01-17 19:35:00) [2]

> _ozzy_  (17.01.2007 17:13:16)  [16]

Убрать индексы, оставить только первичный ключ и работать с помощью запросов, надежно резко возрастет.


Desdechado   (2007-01-17 17:17:00) [3]

Парадокс - это ЛОКАЛЬНАЯ СУБД.
Т.е. не предназначенная для работы по сети.


_ozzy_   (2007-01-17 17:13:00) [4]


> Опять наезды на Парадох :) Программа работает (в сетевом
> режиме и таблицы с индексами) уже не один год. Что я сделал
> неправильно? :)


Посоветуйте, пожалуйста, как правильно организавать сетевой доступ к файлам Парадокс через БДЕ. Постоянно ругается на индексы. Устал уже их восстанавливать....


_ozzy_   (2007-01-17 17:13:00) [5]


> Опять наезды на Парадох :) Программа работает (в сетевом
> режиме и таблицы с индексами) уже не один год. Что я сделал
> неправильно? :)


Посоветуйте, пожалуйста, как правильно организавать сетевой доступ к файлам Парадокс через БДЕ. Постоянно ругается на индексы. Устал уже их восстанавливать....


Anatoly Podgoretsky   (2007-01-09 15:25:00) [6]

> ЮЮ  (09.01.2007 03:34:11)  [11]

У тебя может и работает, а у тысяц нет.
Тут один недавно утверждал, отлично работает, только два три раза в день индексы лечим.


Desdechado   (2007-01-09 11:57:00) [7]

ЮЮ ©   (09.01.07 03:34) [11]
В отличие от тебя много других делают неправильно.
Типичны случаи пропадания связи, бросков питания, зависания и т.п.
Ну, и криво писанные программы.
Это всё факторы риска.


Германн   (2007-01-09 04:22:00) [8]


> ЮЮ ©   (09.01.07 03:34) [11]
>
>
> > Anatoly Podgoretsky ©   (05.01.07 13:42) [10]
> > К Парадоксу это не относится, ему стабильная работа светит
> > только в персональном режиме и то без индексов.
>
>
> Опять наезды на Парадох

Тебе повезло! И мне тоже повезло!


ЮЮ   (2007-01-09 03:34:00) [9]


> Anatoly Podgoretsky ©   (05.01.07 13:42) [10]
> К Парадоксу это не относится, ему стабильная работа светит
> только в персональном режиме и то без индексов.


Опять наезды на Парадох :) Программа работает (в сетевом режиме и таблицы с индексами) уже не один год. Что я сделал неправильно? :)


Anatoly Podgoretsky   (2007-01-05 13:42:00) [10]

> Desdechado  (05.01.2007 13:33:09)  [9]

К Парадоксу это не относится, ему стабильная работа светит только в персональном режиме и то без индексов.


Desdechado   (2007-01-05 13:33:00) [11]

> После этого получается оптимальная по скорости работа.
Если все не падает и не разваливается ;))


Anatoly Podgoretsky   (2007-01-05 13:17:00) [12]

> Desdechado  (05.01.2007 11:13:06)  [6]

А dBase как раз есть упаковка, ее структура позволяет это делать, а вот Парадокс из-за своей кластерной структуры не может такое делать, но при использование функций БДЕ это не страшно, по сложности примерно одинаково и результат внешне тоже.
Только вот делать это для Парадокс не желательно, в отличии от dBase это приводит к замедлению, Парадокс повторно использует свободное место и часто с целью оптимизации профессионалы поступают так, заливают большое количество записей, затем все их удаляют. После этого получается оптимальная по скорости работа.


Anatoly Podgoretsky   (2007-01-05 13:13:00) [13]

> _ozzy_  (04.01.2007 22:32:03)  [3]

> Записи в файле сохраняются или только пустой паковать?

Повторяю операция упаковки для Парадокс не возможно, только реструктиризация таблицы, то есть создание новой таблицы с копированием туда новых данных, эта операция автоматизирована с помощью функции DbiDoRestructure.

Пример на Дельфи и Си есть в справке по БДЕ
Между прочим отлично организованая справка, на все есть примеры на двух языках!


Desdechado   (2007-01-05 11:13:00) [14]

Anatoly Podgoretsky ©   (04.01.07 17:50) [2]
Я-то в парадоксе не паковал. А вспомнил по аналогии с DBF.
Но суть операции (в пересоздании нового файла и заливки в него непомеченных на удаление записей) у них одинакова.
Видимо, просто слишком разные пути выполнения, поэтому сделали другую функцию.


Германн   (2007-01-05 01:45:00) [15]


> _ozzy_   (04.01.07 22:32) [3]
>
>
> > Парадокс не подлежит упаковки, у него такой возможности
> > нет, только через пересоздание.
>
> Записи в файле сохраняются или только пустой паковать?

Умеешь в DBD упаковывать парадоксовские таблицы? Если умеешь, то поверь, что DbiDoRestructure делает тоже самое, если ты сам не захочешь иного.


Германн   (2007-01-05 00:24:00) [16]

DbiDoRestructure
Анатолий ведь уже ответил.


_ozzy_   (2007-01-04 22:32:00) [17]


> Парадокс не подлежит упаковки, у него такой возможности
> нет, только через пересоздание.

Записи в файле сохраняются или только пустой паковать?


> dbiPackTable

"Paradox: This function is not valid for Paradox tables."


Anatoly Podgoretsky   (2007-01-04 17:50:00) [18]

> Desdechado  (04.01.2007 17:02:01)  [1]

> dbiPackTable

dbiDoRestructure
Парадокс не подлежит упаковки, у него такой возможности нет, только через пересоздание.


Desdechado   (2007-01-04 17:02:00) [19]

dbiPackTable
?


Наверх

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