Работа с базой данных из сервиса Win32
От: Аноним  
Дата: 27.04.04 15:39
Оценка:
Мне нужно было написать простейшее сервисное приложение мониторинга БД и я столкнулся с непонятной проблемой...
Я по таймеру ...скажем каждые пол минуты должен записывать в таблицу MS SQL Server 2000 информацию....
При написании того же кода в обычном приложении все срабатывает...но в сервисном — нет...причем я не в курсе как дебаггить сервисное приложение...

Народ подскажите кто знает....
Заранее благодарен.
Re: Работа с базой данных из сервиса Win32
От: agos Россия http://trtrmitya.wordpress.com
Дата: 27.04.04 16:13
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Мне нужно было написать простейшее сервисное приложение мониторинга БД и я столкнулся с непонятной проблемой...

А>Я по таймеру ...скажем каждые пол минуты должен записывать в таблицу MS SQL Server 2000 информацию....
А>При написании того же кода в обычном приложении все срабатывает...но в сервисном — нет...причем я не в курсе как дебаггить сервисное приложение...
А в чём заключается неработа???
... << RSDN@Home 1.1.3 beta 2 >>
Не переходите улицу на тот свет..
Re[2]: Работа с базой данных из сервиса Win32
От: Аноним  
Дата: 27.04.04 16:22
Оценка:
Здравствуйте, agos, Вы писали:

A>Здравствуйте, <Аноним>, Вы писали:


А>>Мне нужно было написать простейшее сервисное приложение мониторинга БД и я столкнулся с непонятной проблемой...

А>>Я по таймеру ...скажем каждые пол минуты должен записывать в таблицу MS SQL Server 2000 информацию....
А>>При написании того же кода в обычном приложении все срабатывает...но в сервисном — нет...причем я не в курсе как дебаггить сервисное приложение...
A>А в чём заключается неработа???

В обработчике по таймеру не происходит записи в базу...
Re: Работа с базой данных из сервиса Win32
От: kvl_mikki Россия  
Дата: 27.04.04 19:24
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Мне нужно было написать простейшее сервисное приложение мониторинга БД и я столкнулся с непонятной проблемой...

А>Я по таймеру ...скажем каждые пол минуты должен записывать в таблицу MS SQL Server 2000 информацию....
А>При написании того же кода в обычном приложении все срабатывает...но в сервисном — нет...причем я не в курсе как дебаггить сервисное приложение...

есть предположение. когда запускаешь приложение сервисом, то оно запускается от имени localsystem, а не под пользовательским именем, имеющим доступ к БД. вот ms sql и не пускает.

--
Каратаев Владимир
... << RSDN@Home 1.1.0 stable >>
Re[2]: Работа с базой данных из сервиса Win32
От: Аноним  
Дата: 28.04.04 06:41
Оценка:
Здравствуйте, kvl_mikki, Вы писали:

_>Здравствуйте, <Аноним>, Вы писали:


А>>Мне нужно было написать простейшее сервисное приложение мониторинга БД и я столкнулся с непонятной проблемой...

А>>Я по таймеру ...скажем каждые пол минуты должен записывать в таблицу MS SQL Server 2000 информацию....
А>>При написании того же кода в обычном приложении все срабатывает...но в сервисном — нет...причем я не в курсе как дебаггить сервисное приложение...

_>есть предположение. когда запускаешь приложение сервисом, то оно запускается от имени localsystem, а не под пользовательским именем, имеющим доступ к БД. вот ms sql и не пускает.


_>--

_>Каратаев Владимир

Я перепробовал всех пользователей....к сожалению ADOConnection1.Connected возвращает false...
Может есть какая-то специфика при работе с консольными приложениями (ведь Сервис — консольное приложение?)...те как-то особенным образом инициализировать соединение ?
Я просто кидаю компоненты в модуль...
Re[3]: Работа с базой данных из сервиса Win32
От: barry  
Дата: 28.04.04 08:26
Оценка:
> A>А в чём заключается неработа???
>
> В обработчике по таймеру не происходит записи в базу...

Ошибки какие? Или что именно означает "не-запись"?
Я например сталкивался с тем, при старте мой сервис просто стартует раньше
чем оживет SQL-сервер (дело было с InterBase, но думаю это не
принципиально).
Posted via RSDN NNTP Server 1.8
Re[4]: Работа с базой данных из сервиса Win32
От: Аноним  
Дата: 29.04.04 10:03
Оценка:
OleInitialize(nil)?
Re[3]: Работа с базой данных из сервиса Win32
От: svd71 http://visualdesigner.fatal.ru/
Дата: 30.06.04 11:16
Оценка:
А>>>Мне нужно было написать простейшее сервисное приложение мониторинга БД и я столкнулся с непонятной проблемой...
А>>>Я по таймеру ...скажем каждые пол минуты должен записывать в таблицу MS SQL Server 2000 информацию....
А>>>При написании того же кода в обычном приложении все срабатывает...но в сервисном — нет...причем я не в курсе как дебаггить сервисное приложение...

_>>есть предположение. когда запускаешь приложение сервисом, то оно запускается от имени localsystem, а не под пользовательским именем, имеющим доступ к БД. вот ms sql и не пускает.


_>>--

_>>Каратаев Владимир

А>Я перепробовал всех пользователей....к сожалению ADOConnection1.Connected возвращает false...

А>Может есть какая-то специфика при работе с консольными приложениями (ведь Сервис — консольное приложение?)...те как-то особенным образом инициализировать соединение ?
А>Я просто кидаю компоненты в модуль...

Я нарвался год назад на точно такие же грабли. выяснил одну очень хорошую вещь — таймер в сервисе не работает. незнаю почему. Поэтому создал поток и внем делаю всю отработку.
А отлаживать сервис нужно по описанию в хелпе — запускаешь сервис ручками и тут же запускаешь дельфи. но что то не очень разгоняется на это дельфя, особенно когда делаешь сервисы с форточками
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.