Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проверка подключен ли пользователь с таким именем уже к базе / 6 сообщений из 6, страница 1 из 1
23.03.2005, 15:18
    #32976495
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка подключен ли пользователь с таким именем уже к базе
Есть реализован механизм на клиенте
При подключении пользователя к базе сначала віполняется проверка подключен ли такой пользователь к базе. Если пользователь с таким именем уже работает, то другой с таким именем войти не может.
Вопрос в следующем как проверить работает ли пользователь с таким именем на базе непосредственно при самом подключении пользователя, без использования еще одного пользователя и его конекта для проверки.
Спасибо
...
Рейтинг: 0 / 0
23.03.2005, 15:38
    #32976591
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка подключен ли пользователь с таким именем уже к базе
Я бы смотрел в сторону LOGIN_PROCEDURE. В мануале есть примеры, не совсем то, что тебе нужно, но написьником доработать будет несложно.

Чуть не забыл: это, само собой, для ASA.
____________________________________
- Гарфилд, мышь!
- Спасибо, я сыт!
...
Рейтинг: 0 / 0
23.03.2005, 17:51
    #32977065
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка подключен ли пользователь с таким именем уже к базе
СУБД какая пиши.
...
Рейтинг: 0 / 0
23.03.2005, 19:09
    #32977192
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка подключен ли пользователь с таким именем уже к базе
ASA 9.02
...
Рейтинг: 0 / 0
23.03.2005, 23:20
    #32977372
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка подключен ли пользователь с таким именем уже к базе
Выложу код для примера, можно потом будет в FAQ положить :)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE PROCEDURE sp_Login_Init ()
BEGIN
  IF User_Name() <> 'DBA'
  THEN
    IF (SELECT Count(*)
        FROM sa_Conn_Info()
        WHERE DBNumber = Connection_Property('DBNumber') AND
              UserID = User_Name() ) >  1 
    THEN
      RAISERROR  20000  'Такой пользователь уже подключен';
    END IF;
  END IF;
END;

SET OPTION PUBLIC.LOGIN_PROCEDURE = 'sp_Login_Init';
Теперь кроме DBA никто не имеет права подключаться дважды к БД. IMHO это не очень хорошо, я бы ввел еще проверку на адрес машины, чтобы нельзя было подключаться только с разных машин. Иначе при запущенном клиентском приложении уже нельзя будет вызвать тот же отчетник (FastReport/CrystalReport), который работает в отдельной сесии или утилиты самой ASA.
...
Рейтинг: 0 / 0
01.04.2005, 12:51
    #32993108
Badger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка подключен ли пользователь с таким именем уже к базе
Пример процедуры чудненький...
А есть у кого-нибудь идеи чтобы и для ASE 12.5 и ASA совместимый?
Был бы очень благодарен...
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проверка подключен ли пользователь с таким именем уже к базе / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]