Форум: "Основная";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];
ВнизСоздание службы - отказывается запускаться Найти похожие ветки
← →
George (2010-06-28 08:47) [0]Delphi version: BDS 2010
Win version: WinXP SP2
Добрый утр.
Недавно вот приспичило службу создать, прочел небезызвестную, как я понял, в интернетах статью: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1348
Сервис написал. Зарегистрировал. Запускаться он не хочет.
Код службы из-за размера выложил по ссылке: http://code.shareservices.net/code.php?id=474
При запуске службы вылетает все известный диалог об ошибке и предложение отправить все свои конспиративные данные майкрософту. В системных логах тоже только эти сообщения, мол kernel32 глюкнул. Где мне искать косяк, есть идеи?
← →
George (2010-06-28 10:04) [1]Извиняюсь за ссылку с кодом - она кривая.
Верная: http://code.ctrl-v.it/code.php?id=474
← →
George (2010-06-28 10:12) [2]Путем шаманских телодвижений найден затык в файле проекта:
if not Application.DelayInitialize or Application.Installing then
Application.Initialize;
OutputDebugString(PChar("Application initialized successfully"));
Application.CreateForm(TIQMailServer, IQMailServer);
OutputDebugString(PChar("Service created successfully"));
IQMailServer.ADOConnection.Connected := true; // Вот тут то и повисает
OutputDebugString(PChar("DB connected successfully"));
Application.Run;
Строка подключения:Provider=MSDASQL.1;Password=masterkey;Persist Security Info=True;User ID=SYSDBA;Extended Properties="DSN=FireBird;Driver=Firebird/InterBase(r) driver;Dbname=D:\Проекты\IQMailServer\EXE\REGDB.FDB;CHARSET=NONE;UID=SYSDBA;Role =SYSDBA;Client=D:\Проекты\IQMailServer\EXE\fbembed.dll;"
Я правильно догадываюсь, что надо где то в правах доступа копаться?
← →
George (2010-06-28 10:24) [3]Ладно, раз уж пошла такая пьянь - то выяснил и это. Запустил службу от имени текущего пользователя - и она запустилась. Теперь вот вопрос, как обеспечить ей подобную работу? Я к тому, что при переносе на другой компьютер хочется же чтобы запускалась сразу нормально, без лазания в настройках службы. Это как-то при регистрации службы регулируется?
← →
Leonid Troyanovsky © (2010-06-28 11:35) [4]
> George (28.06.10 10:24) [3]
http://rsdn.ru/?summary/2393.xml
http://rsdn.ru/?article/qna/baseserv/privedit.xml
--
Regards, LVT.
← →
George (2010-06-28 12:52) [5]
> Leonid Troyanovsky © (28.06.10 11:35) [4]
Спасибо, посмотрю.
Я тут продолжаю исследовать. Дело в том, что по идее права, под которыми по умолчанию запускается служба, их же должно быть достаточно? Я вспомнил подобную ситуацию с установкой Постгрес сервера под винду - там служба не запускалась с дефолтными правами, пока не меняли права у папки Data. Так вот я подумал, может быть достаточно сменить права у моей БД или папки с БД? На данный момент у файла с БД полный доступ есть для Пользователей, Администраторов и SYSTEM. Владелец файла - Администраторы. Сама БД - Firebird. Могут ли это быть особенности подключения к самому файрберду?
← →
Leonid Troyanovsky © (2010-06-28 12:57) [6]
> George (28.06.10 12:52) [5]
> Постгрес сервера под винду - там служба не запускалась с
> дефолтными правами, пока не меняли права у папки Data.
Если папка сетевая, то SYSTEM - недостаточно.
> На данный момент у файла с БД полный доступ есть для Пользователей,
> Администраторов и SYSTEM.
Пользователям, IMHO, доступ к файлу БД не нужен.
Доступается ведь сервис FB.
--
Regards, LVT.
← →
George (2010-06-28 13:01) [7]
> Если папка сетевая, то SYSTEM - недостаточно.
Да нет, локальная папка.
> Доступается ведь сервис FB.
Хм, а таки доступается не совсем сервис, ибо забыл упомянуть, что это FB Embedded. Т.е. доступ через ODBC драйвер + дллку. Наверное, стоит глянуть права и у этих компонентов.
← →
George (2010-06-28 13:05) [8]Вот что интересно, экспериментирую по сути тыком в небо. Поставил галочку - разрешить взаимодействие с рабочим столом и при запуске получаю ошибку, что "Источник данных не найден и не указан драйвер, используемый по умолчанию". Не соображу, что это может значить.
← →
Leonid Troyanovsky © (2010-06-28 14:01) [9]
> George (28.06.10 13:05) [8]
> Поставил галочку - разрешить взаимодействие с рабочим столом
> и при запуске получаю ошибку, что "Источник данных не найден
> и не указан драйвер, используемый по умолчанию". Не соображу,
> что это может значить.
Взаимодействие со столом не нужно (forever).
Ошибка может быть, например, от того, что
DSN не определен для доступающегося.
А зачем здесь, во-ще, ODBC?
Есть, вроде, и более прямые способы доступа к FB.
--
Regards, LVT.
← →
George (2010-06-28 14:32) [10]
> Ошибка может быть, например, от того, чтоDSN не определен
> для доступающегося.
Вооот. А я, к стыду своему, не знаю, как определить.
> А зачем здесь, во-ще, ODBC? Есть, вроде, и более прямые
> способы доступа к FB.
Просто ODBC для меня лично привычнее + вроде как универсальнее. Тут я исходил только из скорости разработки - итак на ходу пришлось изучать как службы делаются, времени не хватает.
← →
Leonid Troyanovsky © (2010-06-28 14:39) [11]
> George (28.06.10 14:32) [10]
> Вооот. А я, к стыду своему, не знаю, как определить.
Ну, наверное, на закладке System DSN by ODBC Administrator.
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2011.12.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c