Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Вниз

Не открывается локальная БД Interbase из сервиса, почему?   Найти похожие ветки 

 
Sergey Vorobyev   (2004-07-07 11:24) [0]

Привет всем!
Почему-то не открывается БД из службы (сервиса NT), когда указываешь (IBDatabase1.DatabaseName) локальный путь типа E:\databases\mydb.gdb. Выдает ошибку "unavailable database".
Из обычного приложения работает нормально.
Пока выхожу из положения так: задаю путь к БД localhost:e:\databases\mydb.gdb.

ОС: WinXP, DB Server: проверял на IB6,7,Firebird, код на D6

Если подробно, делаю так:
1. Создаю новый Service Application (File->New, выбираю Service Application)
2. Кидаю IBDatabase, IBTransaction, устанавливаю друг на друга.
3. Настраиваю IBDatabase (путь, user, пароль и т.п.)
4. В Service1.OnStart прописываю IBDatabase1.Open
5. Инсталю сервис: Project1 /install
6. Запускаю сервис из консоли управления службами. Происходит ошибка запуска.
7. Смотрю журнал событий операционной системы: "Service failed on start: unavailable database"

Так в чем же дело, неужели таки надо "localhost:путь"


 
Sir John ©   (2004-07-07 12:41) [1]

а какие права доступа для localhost к БД через сервис?
И еще. Попробуйте стартовать сервис без попытки открытия БД. Если стартует и работает ормально, значит, скорее всего проблемы с правами доступа.


 
Johnmen ©   (2004-07-07 12:45) [2]

Насколько помню, в данном случае путь полностью.


 
Соловьев ©   (2004-07-07 12:50) [3]

где-то читал, что желательно указывать хост(ай-пи тоже можно, но не рекомендуют).


 
Sergey Vorobyev   (2004-07-07 13:04) [4]


> а какие права доступа для localhost к БД через сервис?


не понял..
к БД подключаюсь как обычно, например user_name=SYSDBA, password=masterkey


> Попробуйте стартовать сервис без попытки открытия БД

без открытия БД сервис запускается успешно


 
VOVA   (2004-07-07 13:14) [5]

я запускал чере ADO тоже намучалса, проблема била в пути до бази, а ище нужно ожиданиє увеличить на D7 стоит 5000 я поставил 10000 и пошло целий день мучалса но запустил, тепер мучаюс з саписю в базу!!!


 
Anatoly Podgoretsky ©   (2004-07-07 13:38) [6]

Sergey Vorobyev   (07.07.04 13:04) [4]
Вопрос был какие права, в рамках файловой системы, а не права на базу и таблицы в ней.


 
Sergey Vorobyev   (2004-07-07 14:05) [7]


> [6] Anatoly Podgoretsky ©   (07.07.04 13:38)
> Sergey Vorobyev   (07.07.04 13:04) [4]
> Вопрос был какие права, в рамках файловой системы, а не
> права на базу и таблицы в ней.

Вот поэтому-то я и не понял..
Что значит права в рамках файловой системы?
Как это связано с базой или сервером Interbase ?
Что означает: "..права доступа для localhost к БД.." ?
Поясните, пожалуйста..


 
Sir John ©   (2004-07-07 15:33) [8]

попробую объяснить, хотя могут быть и неточности.
- любой пользователь, который регистрируется при входе в ОС Windows имеет свои права.
Что касается сервисов, то пользователь (как локальный так и удаленный) может
- стартовать сервис
- останавливать сервис
- перезапускать сервис
- читать данные через сервис
- записывать данные

Например, при отсутсвии прав на чтение пользователя "localhost" Вы не сможете прочитать данные из вашей БД


 
y-soft ©   (2004-07-07 15:46) [9]

Sergey Vorobyev   (07.07.04 11:24)  

Соединяйтесь через TCP


 
Sergey Vorobyev   (2004-07-07 15:49) [10]


> Например, при отсутсвии прав на чтение пользователя "localhost"
> Вы не сможете прочитать данные из вашей БД

Какой такой пользователь "localhost"?
Нет у меня такого пользователя!!!
Непосредственный доступ к файлу базы данных имеет только сервер, а не сервис или другое приложение, поэтому соединение с базой идет через сервер...
Я что-то совсем не понимаю о чем Вы говорите!
Если кто-нибудь кроме меня понял, объясните пожалуйста, А?


 
Sergey Vorobyev   (2004-07-07 15:50) [11]


> Соединяйтесь через TCP

Ну пока так и делаю


 
Sergey Vorobyev   (2004-07-08 08:19) [12]

Отсюда вывод:
пока решения этой проблемы нет


 
Anatoly Podgoretsky ©   (2004-07-08 09:44) [13]

TransparentGhost   (07.07.04 11:45) [18]
Как ты думаешь сервер сам по себе крутится в обход файловой системы и в обход прав ОС, или все таки под какой то учетной записью?


 
Reindeer Moss Eater ©   (2004-07-08 09:53) [14]

Скорее всего это просто особенность сервера, а не права на файл.
Ну не может же не быть прав на локальный том у локал систем аккаунт.


 
Sergey Vorobyev   (2004-07-08 12:56) [15]

Есть решение!!!


> Скорее всего это просто особенность сервера, а не права
> на файл.

Точно так..

Наконец-то нашел.. Облазил весь Интернет..
А нашел-то в старых FAQ-ах :-) http://www.ibase.ru/v6/ib6faq.htm#threads

Выдержка оттуда:
"...существует еще одно требование - коннект к БД не должен быть локальным. При локальном коннекте (c:\dir\data.gdb, это часто используют при размещении приложений на сервере БД - web, midas и т.п.) невозможно подключение из сервисов (например IIS, Baikonur и т.п.)
...
Поэтому коннект к БД у таких приложений должен быть localhost:c:\dir\data.gdb ..."


P.S. 2 Anatoly Podgoretsky (не в обиду)
Я не поддерживаю Ваш стиль давать ответы путем наводок на ответ, тем более когда не знаете точно в чем ответ. Посмотрите в скольких случаях это помогло..



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.031 c
4-1087908765
Davinchi
2004-06-22 16:52
2004.08.01
Чтение/запись свойств файла через описание его класса в реестре


14-1089980489
CAMCOH
2004-07-16 16:21
2004.08.01
Как установить компонент в Delphi 7


1-1090407209
safo
2004-07-21 14:53
2004.08.01
Редирект


9-1080574510
TButton
2004-03-29 19:35
2004.08.01
DasTactics


1-1089881596
Yakudza
2004-07-15 12:53
2004.08.01
TWebBrowser





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский