Страница 1 из 1
"Взаимодействие с рабочим столом" в сервисе
Добавлено: 09 апр 2006, 20:19
MMF
Пишу сервис NT, проблема в следующем: пока в сервисе работает один поток, использующий соединение с Fb, сервис нормально работает под системной учетной записью со снятым флажком "Разрешить взаимодействие с рабочим столом". При создании в сервисе дополнительных потоков, последние выдают ошибку "unavailable database' при попытке TIBdataBase.open (IBX), если флажка нет. При его установке (и прочих условиях запуска) ошибка не возникает.
Подскажите, пожалуйста, причина в кривизне моего кода или это нормальное явление?
Добавлено: 09 апр 2006, 20:27
MMF
FB 1.5.3.4854
Используется соединение по TCP/IP. Файл базы данных 100% существует, сервер запущен, логин корректный, проверяю по логу
LogMessage('Открытие БД: ' + FIBDataBase.DatabaseName, EVENTLOG_INFORMATION_TYPE);
LogMessage(FIBDataBase.Params.Text, EVENTLOG_INFORMATION_TYPE);
FIBDataBase.Open();
Re: "Взаимодействие с рабочим столом" в сервисе
Добавлено: 09 апр 2006, 23:25
hvlad
MMF писал(а):Подскажите, пожалуйста, причина в кривизне моего кода или это нормальное явление?
Скорее первое, увы

Re: "Взаимодействие с рабочим столом" в сервисе
Добавлено: 10 апр 2006, 00:59
MMF
hvlad писал(а):Скорее первое, увы

Спасибо, диагноз подтвердился - изваял простенький трехпоточный сервис. Работает без взаимодействия с рабочим столом. Хорошо, конечно, что ФБ не виноват, только как баг найти - не ведаю.
Добавлено: 10 апр 2006, 01:26
kdv
читай faq и не используй локальный коннект.
Добавлено: 10 апр 2006, 23:58
MMF
kdv писал(а):читай faq и не используй локальный коннект.
Какой, прости, Faq читать?
По поводу локального коннекта я указал: "Используется соединение по TCP/IP".
Добавлено: 11 апр 2006, 08:32
kdv
такой -
www.ibase.ru/ibfaq.htm
коннект по tcp не может выдать "unavailable database". Такое сообщение выдает локальный коннект.
Используется соединение по TCP/IP.
так многие пишут. Только когда просишь привести строку коннекта, оказывается, что соединение было нифига не tcp.
в дополнительных тредах идет обращение к БД? Они делают это каждый в своем IBDatabase? Если нет, то они принудительно синхронизируются?
p.s. я почему и спрашиваю - FAQ читал?
