Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Управление пользователями [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 - отдельного потока в рамках серверного процесса.
Про всё это много написано и найти не составит труда...


Наверх

Титульная страница Поиск, карта сайта Написать письмо