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

Чуть не забыл: это, само собой, для ASA.
____________________________________
- Гарфилд, мышь!
- Спасибо, я сыт!
...
Рейтинг: 0 / 0
Проверка подключен ли пользователь с таким именем уже к базе
    #32977065
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СУБД какая пиши.
...
Рейтинг: 0 / 0
Проверка подключен ли пользователь с таким именем уже к базе
    #32977192
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASA 9.02
...
Рейтинг: 0 / 0
Проверка подключен ли пользователь с таким именем уже к базе
    #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
Проверка подключен ли пользователь с таким именем уже к базе
    #32993108
Фотография Badger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример процедуры чудненький...
А есть у кого-нибудь идеи чтобы и для ASE 12.5 и ASA совместимый?
Был бы очень благодарен...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Проверка подключен ли пользователь с таким именем уже к базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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