автоматический backup'ер

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
londinium
Сообщения: 27
Зарегистрирован: 17 апр 2006, 14:04

автоматический backup'ер

Сообщение londinium » 22 янв 2007, 13:37

Здравствуйте, Господа!

Для разработки программы использовал FireBird SS 1.5.3, C++Builder 6 SP4, IBX(обновление для C++Builder 6).
Окончательную версию решил эксплуатировать на Yaffil Embedded .Сделал backup/restore и все, вроде, заработало :D
Поскольку программа будет эксплуатироваться полностью без администратора, то возник вопрос о том, кто будет делать backup.
На данный момент вижу только один выход - написание автоматического backup'ера. В связи с этим вопрос: нормально ли использовать компоненты с вкладки InterBase Admin в Delphi/C++Builder (а конкретно IB BackupService)? Нормально в том смысле - будет ли этот backup'ер работать если разработка проводится на FireBird SS 1.5.3, а окончательная эксплуатация на Yaffil Embedded. Или лучше положить в дистрибутив Yaffil Embedded программку gbak, а в bat-файле прописать ее запуск?

Заранее всем спасибо за ответы.
С уважением, Londinium

P.S Если, по мнению администратора, тему запостил не туда, переложите, пожалуйста, в правильный форум

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 янв 2007, 14:47

Окончательную версию решил эксплуатировать на Yaffil Embedded
а почему не Firebird Embedded?
будет ли этот backup'ер работать
будет. services api идентично поддерживаются в обоих.
Yaffil Embedded программку gbak
embedded в любом виде допускает коннект к базе только из одного exe. Соответственно, если делать "автобэкап" отдельно, то он имеет шанс напороться на конфликт блокировки файла БД, уже открытого приложением.
Поэтому я бы советовал делать как в Outlook - "архивация" делается из самого приложения. Ну и, "автоматическая" внешняя архивация в случае embedded имеет мало смысла.

londinium
Сообщения: 27
Зарегистрирован: 17 апр 2006, 14:04

Сообщение londinium » 22 янв 2007, 17:12

kdv, cпасибо за ответ.
Ну и, "автоматическая" внешняя архивация в случае embedded имеет мало смысла.
Не очень понятно, почему "имеет мало смысла"

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 22 янв 2007, 17:49

Предыдущую строку перечитай. Именно поэтому.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 22 янв 2007, 18:14

пользователь работает один? один. следовательно, база меняется только во время его сеансов работы. Так? Значит:

а) пользователь или работает за компом, или комп выключен.
это если подходить к бэкаперу обычным способом - типа, "каждый день в 20:00" бэкапим. Например, если поставить автобэкап на 17:50, юзер может убежать за водкой, колбасой или дочкой в сад намного ранше.

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

в) база меняется только в результате запуска пользователем приложения с embedded. если он его не запускал - зачем бэкапить второй раз?

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

Ответить