Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
15-1314544353
alexdn
2011-08-28 19:12
2011.12.18
Переименовать файл в винде


2-1315922445
Сергей М.
2011-09-13 18:00
2011.12.18
OpenCV - поиск алф.-цифр-символьных объектов в изображении


15-1314563396
Юрий
2011-08-29 00:29
2011.12.18
С днем рождения ! 29 августа 2011 понедельник


1-1277298765
granulated
2010-06-23 17:12
2011.12.18
EInvalidPointer после выхода из функции.


15-1314592325
Дмитрий С
2011-08-29 08:32
2011.12.18
Целочисленное деление mysql и...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский