![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Управление пользователями [Firebird]
den_777 © (2004-10-20 09:58:00)Вопрос в следующем. Мне необходимо управлять пользователями Interbase(Firebird) из своей программы. В InteBase 5.6 я это делел с помощью функций isc_add_user,isc_modify_user и isc_delete_user, в FireBird 1.5 суперсервер это тоже нормально работает, хотя можно использовать и TIBSecurityService, но когда мне пришлось управлять пользователями в FireBird 1.5 классик, то оба этих способа перестали работать, с ошибкой о невозможности подключения к базе данных(я так понимаю не находилась security.fdb). Мне стало интересно как же в этом случае ведет себя IBExpert, и оказалось что для FireBird 1.5 классик он тоже не может управлять пользователями. И только при указании в регистрационной информации базы данных параметра "Путь к служебной БД ISC4.GDB" IBExpert начинает нормально работать с пользователями FireBird 1.5 классик. Но при мониторинге действий IBExpert обнаружилось, что он производит непосредственный INSERT,UPDATE и DELETE с указанной базой пользователей. Вопрос в том, существуют ли стандартные способы управления пользователями в FireBird 1.5 классик, и если кто встречался с подобной ситуацией, то какой выход из нее нашли. Забыл сказать все версии IB и FB проверялись только под WINDOWS.
den_777 (2004-10-20 16:01:00) [1]
> DarkMaster (20.10.04 11:50) [5]
> Zacho © (20.10.04 15:03) [6]
Я вроде написал все в своем вопросе, если не уверены в правильности моих слов, то проэкспериментируйте пожалуйста на FB 1.5 Classic сами прежде чем отвечать
Zacho (2004-10-20 15:03:00) [2]Поддерживаю DarkMaster (20.10.04 11:50) [5]
Эти функции (isc_xxx_user) существуют очень давно, и для любой архитектуры. Лет 5 назад я даже компонент делал (правда, он уже утерян, т.к. в послндствии был не нужен, если надо - могу попробовать найти одну из ранних нетестированных версий).
Подробности есть в API Guide
DarkMaster (2004-10-20 11:50:00) [3]Вообще-то и FB классик нормально работает с isc_XXXX_user().
IBE нужен путь к security.fdb только для получения списка пользователей, бо для классика иначе никак.
Johnmen (2004-10-20 11:28:00) [4]>den_777 (20.10.04 11:21) [3]
Понятно. Развивают архитектуру и функционал. Иногда в неочевидных направлениях...:)
den_777 (2004-10-20 11:21:00) [5]Спасибо
> Johnmen © (20.10.04 10:08) [1]
за
> найти не составит труда...
. Действительно решил поискать и ничего не нашел по поводу заведения пользователей в FireBird 1.5 Classic, но зато нашел описание новых возможностей FireBird 1.5.1 Classic, среди которых есть и полная поддержка Services API. Так что выход на самом деле прост:заменить FireBird 1.5 Classic на FireBird 1.5.1 Classic и пользоваться самым стандартным TIBSecurityService. Проверил работает отлично.
den_777 (2004-10-20 10:28:00) [6]Про принципы работы Classic и Super я все понимаю, но
> если кто встречался с подобной ситуацией, то какой выход
> из нее нашли
Johnmen (2004-10-20 10:08:00) [7]Нет, не существует. Для версий сервера Classic, т.к. в этом случае каждое соединение приводит к порождению сервером отдельного независимого процесса. В Super - отдельного потока в рамках серверного процесса.
Про всё это много написано и найти не составит труда...