start\stop fbserver

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
_sts_
Сообщения: 23
Зарегистрирован: 28 авг 2006, 19:38

start\stop fbserver

Сообщение _sts_ » 17 июл 2008, 14:38

Как запустить/остановить fbserver из программы? пробовал запустить cmd через ShellExecute, параметр - ' net stop "Firebird Server - DefaultInstance" ', cmd запускается, но параметр не получает. Такая же ерунда и с WinExec. Помогите, кто знает!

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Re: start\stop fbserver

Сообщение stix-s » 17 июл 2008, 14:48

_sts_ писал(а):Как запустить/остановить fbserver из программы? пробовал запустить cmd через ShellExecute, параметр - ' net stop "Firebird Server - DefaultInstance" ', cmd запускается, но параметр не получает. Такая же ерунда и с WinExec. Помогите, кто знает!
http://www.delphikingdom.com/asp/viewit ... alogid=736

_sts_
Сообщения: 23
Зарегистрирован: 28 авг 2006, 19:38

Re: start\stop fbserver

Сообщение _sts_ » 17 июл 2008, 17:19

[/quote]
http://www.delphikingdom.com/asp/viewit ... alogid=736[/quote]
Спасибо, это все интересно, но... нет ли чего попроще? А то городить такой огород для запуска 2-х команд:) Я уже сделал генерацию и запуск bat-файла, все работает, но это тоже как-то через ж...

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

Сообщение kdv » 18 июл 2008, 01:03

fbserver -a
хотя запускать ФБ из программы нафиг не надо. Надо использовать FB Embedded.

_sts_
Сообщения: 23
Зарегистрирован: 28 авг 2006, 19:38

Сообщение _sts_ » 18 июл 2008, 09:48

kdv писал(а):fbserver -a
хотя запускать ФБ из программы нафиг не надо. Надо использовать FB Embedded.
Ладно, объясню подробно в чем проблем: надо написать утилиту для запуска b/r для юзеров (админов нет и не будет:( ). В какой-то умной книге прочел, что перед каждой файловой операцией с файлом БД надо останавливать сервер ФБ, чтобы не запортить его(файл!) в случае обращений со стороны ФБ (ОС их, как я понял, "не видит"). Я хотел сделать возможность отката последнего restore так:
1) net stop "Firebird Server ..."
2) copy BDFile.fdb BDFile.old
3) net start "Firebird..."
4) делаем restore
Если что не так - переименовываем файл обратно.

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

Сообщение WildSery » 18 июл 2008, 11:47

В твоей схеме не видно, когда делается бэкап.
Если ты остановил рабочую базу, переименовал её, а затем ресторишь (откуда?), то все изменения от съёма бэкапа до остановки сервера будут потеряны.

Вообще, сервер останавливать не обязательно, надо всего лишь отключить пользователей и перевести базу в шатдаун, чтобы новые не подключились.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 18 июл 2008, 13:44

WildSery писал(а):В твоей схеме не видно, когда делается бэкап.
А он его и не делает. Война уж 63 года как кончилась, а он всё поезда под откос пускает.

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

Сообщение WildSery » 18 июл 2008, 14:23

Ещё нет 63 :)

_sts_
Сообщения: 23
Зарегистрирован: 28 авг 2006, 19:38

Сообщение _sts_ » 18 июл 2008, 14:36

WildSery писал(а):В твоей схеме не видно, когда делается бэкап.
Он делается раньше Smile
WildSery писал(а):Если ты остановил рабочую базу, переименовал её, а затем ресторишь (откуда?),
из файла бэкапа, вестимо... (BDFile.gbk - на всякий случай:) )
WildSery писал(а): то все изменения от съёма бэкапа до остановки сервера будут потеряны.
Я в курсе
WildSery писал(а):Вообще, сервер останавливать не обязательно, надо всего лишь отключить пользователей и перевести базу в шатдаун, чтобы новые не подключились.
Вот это я и хотел узнать, спасибо.
P.S. По поводу дальнейшего "юмора" - кто о чем, а мы все про войну...

Ответить