![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
(InterBase)Многопользовательский доступ к БД разных пользователей [D7, IB6.x]
DmitrichJ © (2006-06-30 00:06:00)Вот такой вот вопрос: Есть БД (InterBase 6) на сервере в которой есть список пользователей. Например Петров,Сидоров и т.д. Господин Сидоров запускает программу (подключается БД) выбирает себя из списка (к этому можно добавить пароль и т.п.) и начинает работу с данными. Всё хорошо. Господин Петров у себя запускает программу и...
1. Не мог бы зайти под именем Сидорова т.к. он сейчас работает с данными
2. Войдя под собой мог бы видеть кто сейчас работает с БД.
Заранее благодарю, уважаемые коллеги=) Вопрос очень важный!
Sergey13 (2006-06-30 10:48:00) [21]2[0] DmitrichJ (30.06.06 00:06)
>Вопрос очень важный!
Согласен. Но вопрос не из области программирования, ИМХО. Сидоров, как и Петров, не говоря уже об Иванове должны знать только своилогины/пароли. При этом им должно быть фиолетово кто сейчас работает в БД одновременно с ним.
DrPass (2006-06-30 10:47:00) [22]
DmitrichJ (30.06.06 01:51) [4]
> s:=TIBDatabaseInfo.UserNames;
>
> говорит мол что нет такого метода. что не так?
Вероятно, у тебя старая версия компонент IBX, скачай обновление
Desdechado (2006-06-30 10:32:00) [23]DmitrichJ (30.06.06 00:59) [3]
Чтобы прочитать список пользователей, нужно подключиться к БД. А чтобы подключиться к БД, нужно спросить логин-пароль. Если пользователь не вводит, а выбирает, значит, программа должна подключиться к БД заранее с каким-то специальным аккаунтом ("технологическим логином").
> подкорректировать господину Петрову его списочек
Это значит - "убрать из полного списка пользователей тех, кто уже подключен", чтобы "1. Не мог бы зайти под именем Сидорова т.к. он сейчас работает с данными".
Детально по IB читать на русском ibase.ru
DmitrichJ (2006-06-30 01:51:00) [24]var
s:tstringlist;
begin
s:=TIBDatabaseInfo.UserNames;
говорит мол что нет такого метода. что не так?
DmitrichJ (2006-06-30 00:59:00) [25]Запуск программы уже подразумевает подключение к БД и получению списка пользователей. Что значит "технологическим логином"? Можно пару слов об этом?
Для меня это новое. Опробую и обращусь, скорей, всего ещё раз.
Fay (2006-06-30 00:39:00) [26]2 DmitrichJ (30.06.06 0:06)
Такие вещи лучше всего лечатся многозвенкой
DrPass (2006-06-30 00:23:00) [27]Список активных пользователей в базе данных можно получить, например, через TIBDatabaseInfo.UserNames. Естественно, уже только после подключения к базе данных. Т.е. в твоем случае приложение сначала должно войти в базу под каким-нибудь технологическим логином, раздобыть список активных пользователей, соответственно подкорректировать господину Петрову его списочек, и дать ему войти под собой