Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.21;
Скачать: CL | DM;

Вниз

ожидание запуска FireBird a   Найти похожие ветки 

 
Цукор5   (2009-07-15 13:02) [0]

Добрый день.
Каким образом узнать, что FireBird стартовал и готов к работе ?
У меня ситуация следующая...Win2003 стартует, появляется окно логина/пароля(происходит это ночью, когда никого нет). В это время через планировщик запускается программа, которая проверяет готовность службы FireBird. И если служба готова, то запускается основная программа.

Код отрабатывает правильно, т.е. видно, что служба стартовала.
Но даже если после этого запустить основную программу связи с БД нет.


function ServiceStatus(MachineName, ServiceName: string): dword;
var
 Mgr, Svc: integer;
 Status: SERVICE_STATUS;
begin
 Result := 0;
 Mgr := OpenSCManager(PChar(MachineName), nil, SC_MANAGER_ALL_ACCESS);
 if Mgr <> 0 then begin
   Svc := OpenService(Mgr, PChar(ServiceName), SERVICE_QUERY_STATUS);
   if Svc <> 0 then begin
     if QueryServiceStatus(Svc, Status) then Result := Status.dwCurrentState;
     CloseServiceHandle(Svc);
   end
   else
     RaiseLastOSError;
   CloseServiceHandle(Mgr);
 end;
end;

...
if ServiceStatus("","FireBirdServerDefaultInstance") = SERVICE_RUNNING then
   begin
       ShellExecute...
   end;


Подскажите...каким же образом проверить и дождаться запуска FireBird.Может в чем-то другом проблема ? Заранее низкий поклон !!!


 
Медвежонок Пятачок ©   (2009-07-15 13:11) [1]

У тебя ответ содержится в вопросе:

Служба стартовала, но нет связи.

При этом бессмысленно спрашивать как дождаться запуска ФБ, так как служба уже стартовала.


 
Цукор5   (2009-07-15 13:13) [2]


> Медвежонок Пятачок ©   (15.07.09 13:11) [1]
> У тебя ответ содержится в вопросе:Служба стартовала, но
> нет связи.При этом бессмысленно спрашивать как дождаться
> запуска ФБ, так как служба уже стартовала.


Толком ничего не понял. Поставлю вопрос по другому...как заставить работать программу до входа в систему(т.е. служба только стартовала). Чего еще ждать ?


 
Игорь Шевченко ©   (2009-07-15 13:28) [3]


> Но даже если после этого запустить основную программу связи
> с БД нет


как именно нет связи ?


 
sniknik ©   (2009-07-15 13:37) [4]

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


 
Цукор5   (2009-07-15 13:59) [5]


> Игорь Шевченко ©   (15.07.09 13:28) [3]
> > Но даже если после этого запустить основную программу
> связи > с БД неткак именно нет связи ?


unavailable database


 
Цукор5   (2009-07-15 14:01) [6]


> sniknik ©   (15.07.09 13:37) [4]
> ну и не забыть выставить ей зависимость от службы фаребирда


Т.е. моего кода достаточно ? Проблема только в том, что я не сделал программу службой ?


 
sniknik ©   (2009-07-15 14:13) [7]

> Т.е. моего кода достаточно ?
твой код тут совершенно не при чем. да и не нужен службе, если используется только для того чтобы определить можно ли уже работать с сервером фаребирда, у них есть стандартный "оповещатель" - зависимости.

> Проблема только в том, что я не сделал программу службой ?
скорее всего нет, т.к.
> Служба стартовала, но нет связи.
проблема скорее всего вообще не связана с проверкой запущенности службы файрбирда.

делать программу службой нужно по другому поводу, а именно для того чтобы работать "до входа в систему". т.е. до логина и запуска юзерского интерфейса.


 
Anatoly Podgoretsky ©   (2009-07-15 14:40) [8]

Проблема точно не связана и нечего ждать, поскольку служба уже стартовала, чего еще надо.


 
Mike Kouzmine   (2009-07-20 23:14) [9]

а почему сервер стартует каждую ночь? Дебилизм.


 
Цукор5   (2009-07-21 14:59) [10]


> а почему сервер стартует каждую ночь? Дебилизм.


Во первых не каждую, а во вторых потому что свет иногда выключают.
И в-третьих какое отношение [9] имеет к сабжу ?


 
StriderMan   (2009-07-22 16:30) [11]

сталкивались с подобной проблемой. Сервис FB бодро рапортует что уже стартовал, а коннект отваливается с ошибкой. После долгих поисков решений сделали несколько попыток старта с настраиваемым таймаутом.



Страницы: 1 вся ветка

Текущий архив: 2010.11.21;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.01 c
15-1281428898
stas
2010-08-10 12:28
2010.11.21
TWebBrowser заполнить поле типа file


15-1281602585
boriskb
2010-08-12 12:43
2010.11.21
К спецам по PHP


9-1188140713
AlexanderMS
2007-08-26 19:05
2010.11.21
Игра - на весь экран.


15-1282002935
Дмитрий С
2010-08-17 03:55
2010.11.21
Синхронизация доступа к хешу.


3-1247807671
belmol
2009-07-17 09:14
2010.11.21
множество в условии