![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
служба и база данных [D7, WinXP]
HelpMy © (2005-09-23 14:24:00)При создании Service
создаю IBDataBase
procedure TService3.ServiceCreate(Sender: TObject);
begin
try
Base := TIBDatabase.Create(Application);
AddToLog('1');
Base.DatabaseName := 'C:\dbase\XXX.GDB';
AddToLog('2');
Base.Params.Add('user_name=sysdba');
AddToLog('3');
Base.Params.Add('password=masterkey');
AddToLog('4');
Base.Params.Add('lc_ctype=WIN1251');
AddToLog('5');
Base.LoginPrompt := False;
AddToLog('6');
except
on E: Exception do
begin
AddToLog(E.ClassName + ' ' + e.Message);
end;
end;
end;
В onExecute пытаюсь открыть базу
procedure TService3.ServiceExecute(Sender: TService);
begin
try
Base.Open;
AddToLog('7');
except
on E: Exception do
begin
AddToLog(E.ClassName + ' ' + e.Message);
end;
end;
while Runing do
Sleep(100);
ServiceThread.ProcessRequests(False); {}
end;
Все действия пишутся в лог:
16:15:06 1
16:15:06 2
16:15:06 3
16:15:06 4
16:15:06 5
16:15:06 6
16:15:06 EIBInterBaseError unavailable database
Чего не хватает, что бы открыть базу
Если помещаю компонент базы с теми же настройками, то в дизайне без проблем устанавливается Connected d True
Digitman (2005-09-23 15:41:00) [1]
> simpson © (23.09.05 14:35) [1]
ну это ты чушь, положим, сморозил)
при чем здесь сервис или не сервис ?
вся разница между
'C:\dbase\XXX.GDB
и
hostname:C:\dbase\XXX.GDB
- в требуемом клиенту протоколе инф.обмена с СУБД
HelpMy (2005-09-23 14:39:00) [2]Спасииибо simpson © (23.09.05 14:35) [1]
Я чувствовал, что какая то маленькая козявочка все тормозит
simpson (2005-09-23 14:35:00) [3]Из сервиса так нельзя. Нужно делать так:
Base.DatabaseName := 'hostname:C:\dbase\XXX.GDB';
где hostname - имя сервера, на котором лежит эта база, если на этом же компьютере - то "localhost".