Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Копирование и восстановление БД Firebird в Qt
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Разработка баз данных
Steklova Olga
Здравствуйте :) Моя Qt-программа работает с БД Firebird.
В книжках пишут, что рекомендуется регулярно копировать (back up) и восстанавливать (restore) БД.
Для этих целей может использоваться как утилита командной строки gbak, так и программа IBExpert.
Рассматриваем случай, когда юзер ничего не понимает в gbak и IBExpert, зато он спец в части конкретных данных, записанных в БД. Только с ними он и хочет работать. И ему дела нет до того, что БД периодически надо как-то администрировать.
Бондарь приводит пример как решить этот вопрос в Delphi с помощью компонентов FIBPlus.
А что делать в Qt? Тут есть для этого какие-то средства?
А gbak можно запустить из Qt?
И еще... Какое количество записей в БД делает вопрос регулярного копирования и восстановления действительно актуальным? Как решить, надо мне это делать или нет? Дело в том, что будущее кол-во записей в БД и частота их редактирования мне неизвестны.
Iron Bug
изобретать велосипеды с бэкапом не рекомендую. если есть утилька из командной строки, то лучше программно вызывать её.
ибо бэкап - это не просто архивирование, а ещё проверка на целостность и вообще он делается при стабильном состоянии базы, когда к ней нет коннектов. чаще всего юзер не парится с бэкапами, это задача админа. но если база мелкая и чисто юзерская, то можно просто вызывать бэкап утилькой.

в БД важно не количество, а качество :) для юзера и одна запись может иметь некую информационную ценность. поэтому такие вещи либо выносятся в конфиг, либо передаются в ручное управление юзера: когда захотел, тогда и забэкапил.
Steklova Olga
Цитата(Iron Bug @ 17.10.2013, 20:41) *
если есть утилька из командной строки, то лучше программно вызывать её.
с помощью QProcess?

Цитата(Iron Bug @ 17.10.2013, 20:41) *
такие вещи... выносятся в конфиг
который конфиг?

Firebird support hot backup
Iron Bug
Цитата(Steklova Olga @ 18.10.2013, 14:13) *
который конфиг?

в свой. какой есть у программы. чтобы юзер мог установить автоматический бэкап и всё такое.
Litkevich Yuriy
Цитата(Steklova Olga @ 17.10.2013, 19:24) *
В книжках пишут, что рекомендуется регулярно копировать (back up) и восстанавливать (restore) БД.
насчёт последнего в книжках какая-то фантазия. Резервные копии делают, на всякий случай, а не для регулярного восстановления.
Цитата(Steklova Olga @ 17.10.2013, 19:24) *
А gbak можно запустить из Qt?
Цитата(Steklova Olga @ 18.10.2013, 13:13) *
с помощью QProcess?
верно.
А вообще Firebird СУБД специфическая, там нужно тонко всё настроить, чтобы БД не пухла из-за умерших транзакций. Т.к. Firebird хранит версии состояний.
Steklova Olga
Цитата(Litkevich Yuriy @ 20.10.2013, 17:53) *
Firebird СУБД специфическая, там нужно тонко всё настроить
чтобы понять, как это сделать, надо проштудировать непростую книжку Борри...
Litkevich Yuriy
Читай про Sweep-интервал
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.