crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Копирование и восстановление БД Firebird в Qt, back up and restore DB Firebird in Qt
Steklova Olga
  опции профиля:
сообщение 17.10.2013, 17:24
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

Спасибо сказали: 5 раз(а)




Репутация:   4  


Здравствуйте :) Моя Qt-программа работает с БД Firebird.
В книжках пишут, что рекомендуется регулярно копировать (back up) и восстанавливать (restore) БД.
Для этих целей может использоваться как утилита командной строки gbak, так и программа IBExpert.
Рассматриваем случай, когда юзер ничего не понимает в gbak и IBExpert, зато он спец в части конкретных данных, записанных в БД. Только с ними он и хочет работать. И ему дела нет до того, что БД периодически надо как-то администрировать.
Бондарь приводит пример как решить этот вопрос в Delphi с помощью компонентов FIBPlus.
А что делать в Qt? Тут есть для этого какие-то средства?
А gbak можно запустить из Qt?
И еще... Какое количество записей в БД делает вопрос регулярного копирования и восстановления действительно актуальным? Как решить, надо мне это делать или нет? Дело в том, что будущее кол-во записей в БД и частота их редактирования мне неизвестны.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 17.10.2013, 20:41
Сообщение #2


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


изобретать велосипеды с бэкапом не рекомендую. если есть утилька из командной строки, то лучше программно вызывать её.
ибо бэкап - это не просто архивирование, а ещё проверка на целостность и вообще он делается при стабильном состоянии базы, когда к ней нет коннектов. чаще всего юзер не парится с бэкапами, это задача админа. но если база мелкая и чисто юзерская, то можно просто вызывать бэкап утилькой.

в БД важно не количество, а качество :) для юзера и одна запись может иметь некую информационную ценность. поэтому такие вещи либо выносятся в конфиг, либо передаются в ручное управление юзера: когда захотел, тогда и забэкапил.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Steklova Olga
  опции профиля:
сообщение 18.10.2013, 11:13
Сообщение #3


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

Спасибо сказали: 5 раз(а)




Репутация:   4  


Цитата(Iron Bug @ 17.10.2013, 20:41) *
если есть утилька из командной строки, то лучше программно вызывать её.
с помощью QProcess?

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

Firebird support hot backup
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 18.10.2013, 11:27
Сообщение #4


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


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

в свой. какой есть у программы. чтобы юзер мог установить автоматический бэкап и всё такое.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.10.2013, 17:53
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(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
  опции профиля:
сообщение 21.10.2013, 12:20
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 198
Регистрация: 27.9.2011
Из: Санкт-Петербург
Пользователь №: 2912

Спасибо сказали: 5 раз(а)




Репутация:   4  


Цитата(Litkevich Yuriy @ 20.10.2013, 17:53) *
Firebird СУБД специфическая, там нужно тонко всё настроить
чтобы понять, как это сделать, надо проштудировать непростую книжку Борри...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 21.10.2013, 16:57
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Читай про Sweep-интервал
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 14:17