Код представленный в статье чуть изменил (включил поддержку MFC). Все получилось (спасибо автору).
А вот теперь интересное.
Приложение должно подключаться к удаленному SQL серверу (MS SQL Server 2000). Для работы с БД использую давно проверенный и давно отлаженный класс. Если метод соединения с БД запустить просто в консольном приложении все ОК — коннект с базой есть, а вот если этод метод запускается
в сервисе получаю:
Data source name not found and no default driver specified
В чем дело, где грабли?????
PS:
Класс для работы с БД основан на ОДБС
11.10.05 12:31: Перенесено из 'C/C++. Прикладные вопросы'
Здравствуйте, andywolf, Вы писали:
A>Здравствуйте. Прошу помощи!!! A>Пишу приложения, которое должно являться сервисом NT. A>Приложение создано как написано в статье: A>http://www.rsdn.ru/article/baseserv/services_details.xml
A>Код представленный в статье чуть изменил (включил поддержку MFC). Все получилось (спасибо автору). A>А вот теперь интересное. A>Приложение должно подключаться к удаленному SQL серверу (MS SQL Server 2000). Для работы с БД использую давно проверенный и давно отлаженный класс. Если метод соединения с БД запустить просто в консольном приложении все ОК — коннект с базой есть, а вот если этод метод запускается A>в сервисе получаю: A>Data source name not found and no default driver specified A>В чем дело, где грабли????? A>PS: A>Класс для работы с БД основан на ОДБС
Скорее всего дело в том что сервис работает не под учётной записью пользователя ( обычно ) а под системной.
Потому для него могут быть невидны некоторые вещи.
( Скажем пользователь монтирует сетевой диск, но с учётной записи системной этого "замапленного" диска видно не будет )
Re[2]: Проблема с сервисом !!!
От:
Аноним
Дата:
10.10.05 13:54
Оценка:
Здравствуйте, Батончик, Вы писали:
Б>Скорее всего дело в том что сервис работает не под учётной записью пользователя ( обычно ) а под системной. Б>Потому для него могут быть невидны некоторые вещи. Б>( Скажем пользователь монтирует сетевой диск, но с учётной записи системной этого "замапленного" диска видно не будет )
Да, наверное Вы правы: ошибка по которой вылетаю как раз и говорит, что ODBC соединение не создано. Хотя оно есть и было и .... слов нет. Вопрос остался, как быть?
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Батончик, Вы писали:
Б>>Скорее всего дело в том что сервис работает не под учётной записью пользователя ( обычно ) а под системной. Б>>Потому для него могут быть невидны некоторые вещи. Б>>( Скажем пользователь монтирует сетевой диск, но с учётной записи системной этого "замапленного" диска видно не будет )
А>Да, наверное Вы правы: ошибка по которой вылетаю как раз и говорит, что ODBC соединение не создано. Хотя оно есть и было и .... слов нет. Вопрос остался, как быть?
Сказать честно — именно с єтим не сталкивался...
Но первая мысль : см. в настройке DSN закладку "System DSN". Внизу текст на подобие этого:
An ODBC System data sources stores information about how to connect to the indicated data provider. A System data source is visible to all users on this machine, including NT services
Re[3]: Проблема с сервисом !!!
От:
Аноним
Дата:
11.10.05 05:27
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Батончик, Вы писали:
Б>>Скорее всего дело в том что сервис работает не под учётной записью пользователя ( обычно ) а под системной. Б>>Потому для него могут быть невидны некоторые вещи. Б>>( Скажем пользователь монтирует сетевой диск, но с учётной записи системной этого "замапленного" диска видно не будет )
А>Да, наверное Вы правы: ошибка по которой вылетаю как раз и говорит, что ODBC соединение не создано. Хотя оно есть и было и .... слов нет. Вопрос остался, как быть?
попробуйте кликнуть Services, найти свой сервис и в его пропертях установить юзера\пасворд отличные от системы