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

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

Автоматический контроль места под базу. [D7, IB6.x, Firebird]


Поп Гапон ©   (2008-04-15 19:50:00) 

Удалено модератором
Примечание: мат


kaif   (2008-04-17 03:24:00) [1]

Предлагаю такое решение. Создай TEMP директорию и напиши туда муры под завязку (пару гигабайт). Юзвери в какой-то момент и не смогут ничего писать на диск (он будет для них "переполнен"). А перед транзакцией удаляй по файлу (прикинь оптимальный размер). Иногда дописывай опять до двух гигабайт (ну или сколько там влезет). В общем, идея такая, сам до конца не соображу, но мне кажется, что это интересный хулиганский способ резервировать себе дисковой пространство в 2 гигабайта, на которое никто не сможет посягнуть. Назвои файлы как-нибудь типа _00102xxx.db, так что юзвери будут думать, что там важная информация из твоей базы данных лежит. Я думаю, что Билл Гейтс так и делает, когда MS SQL ставишь. :)) А то с чего бы он (один только инсталлятор MS SQL Express) весил сотню мегабайт? Шутка...


ага   (2008-04-16 16:16:00) [2]


> до конца месяца будет RC2

Уже есть.


PEAKTOP   (2008-04-16 13:57:00) [3]

> Ну дык бета, только к концу лета по их roadmap будет релиз.

Какая бета ? уже Release Candidate 1 (причем, стабильный, что в общем-то странно...), до конца месяца будет RC2, до конца мая final.


Sergey13   (2008-04-16 09:08:00) [4]

> [4] Поп Гапон   (15.04.08 20:05)
> Если свободного места менее 20 Мб - думаю стоит выдавать
> предупреждение

Так вроде винда этим занимается постоянно. Если пользователь игнорирует - он сам себе злобный буратина.


Поп Гапон   (2008-04-16 00:18:00) [5]


> PEAKTOP ©   (15.04.08 23:34) [6]
>
> > Поп Гапон   (15.04.08 20:05) [5]
>
> Тебе же разработчики сказали: перейди на Firebird v2.1.


Ну дык бета, только к концу лета по их roadmap будет релиз.


PEAKTOP   (2008-04-15 23:34:00) [6]

> Поп Гапон   (15.04.08 20:05) [5]

Тебе же разработчики сказали: перейди на Firebird v2.1.


Поп Гапон   (2008-04-15 20:09:00) [7]


> ага   (15.04.08 20:02) [2]
>
> ... то оторвать руки таким юзерам...
> Если есть возможность - надо указывать рекомендуемое свободное
> пространство на диске.
> Или административные меры...


Невозможно. Заказчику проще заплатить за восстановление, чем наводить порядок, но все равно как-то некрасиво получается.


Поп Гапон   (2008-04-15 20:05:00) [8]

Возникла небольшая проблемка. Есть приложение которое работает с встроенной FB 1.5 на компьютерах клиента. Иногда бывает так, что на диске заполненного всякими файлами, на котором лежит база заканчивается место, а пишущие транзакции идут. В результате повреждение базы(последних записанных записей).

Кроме механизма перед пишущей транзакцией - подсчитывать "количество" оставшегося места ничего не придумал(административные меры, типа обучения пользователей невозможны). ПО используется у клиентов, которым лень администрировать сложившийся у них бардак.

Посчитываю - определяю количество свободного места на диске + количество пустых страниц * размер страницы + количество частично заполненных страниц * 0.2(20% оставшегося места) * размер страницы.

Если свободного места менее 20 Мб - думаю стоит выдавать предупреждение и завершать программу.

Может кто-то посоветовать более правильное решение проблемы?


ага   (2008-04-15 20:03:00) [9]


>
> Поп Гапон   (15.04.08 19:50)
>
> Удалено модератором
> Примечание: мат

8-()


ага   (2008-04-15 20:02:00) [10]


> Поп Гапон   (15.04.08 19:50)  


> (административные меры, типа ректального обучения пользователей
> невозможны)

Это единственный действенный метод, кстати.

> Если свободного места менее 20 Мб

... то оторвать руки таким юзерам...
Если есть возможность - надо указывать рекомендуемое свободное пространство на диске.
Или административные меры...
Рекомендуемый размер можно рассчитать экспериментально - заполнить тестовыми данными базу. Под завязку. Т.е. взять какой-либо теоретически возможный объем вводимой информации, удвоить (лучше утроить :) его,
получившийся размер умножаем на 3.
А подсчитывать "на ходу" бесполезно. Мало что там еще кроме fb на винт пишет.


Anatoly Podgoretsky   (2008-04-15 19:59:00) [11]

> Поп Гапон  (15.04.2008 19:50:00)  [0]

> меры, типа ректального обучения пользователей невозможны).

Ты пессимист, все вожможно. Добавь к паяльнику еще и финансовую дубинку и диск аудитор.


Наверх

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