![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подключенные user а к IB DB [D5, D6, IB5.x, IB6.x]
Johnmen © (2002-01-30 11:46:00)Не подскажет ли кто, как получить список подключенных на данный момент user"ов к конкретной базе (IB) ?
Johnmen (2002-01-31 11:49:00) [1]>Alexandr : хотелось бы поподробней, если возможно, ->
...если в 5 то только утилиткой...
Alexandr (2002-01-31 10:27:00) [2]если упал аварийно.
на этот случай надо метку времени писать.
И если истекло время, то стирать запись или не учитывать ее.
Или клиент периодически эту метку должен обновлять, говоря что он жив.
Johnmen (2002-01-31 10:03:00) [3]>Digitman : а для разрегистрации, а если клиент упал аварийно,
а если ... тут больше если, чем ответов...
Digitman (2002-01-30 18:39:00) [4]>evgeg
А кто спорит ? И что мешает внести в клиента логику, предусматривающую одним из первых действий после коннекта вызов некоей SP для спец.регистрации ?
evgeg (2002-01-30 18:13:00) [5]> serjant
> Почитай MSDN - проще будет
Какое отношение имеет MSDN к Interbase??
> Alexandr
А в 4-ке можно, и как?
> Digitman
При помощи ключевого слова user можно получить в запросах, тригерах, хр. процедурах имя текущего пользователя.
Digitman (2002-01-30 17:07:00) [6]>Johnmen
Не знаю пока)... но ведь есть в синтаксисе ISQL кл.слово USERNAME, отсюда и отталкиваться надо
Johnmen (2002-01-30 16:50:00) [7]Идею уловил...Спасибо !
А как все же получить список подключенных к базе user"ов...?
Digitman (2002-01-30 16:39:00) [8]>Johnmen
Все оч.просто, на самом деле. IB как классический SuperServer создает при новом кл.соединении отдельный транспортный поток для соединения. Все SP/триггеры, которые активируются тем или иным образом в доп.потоке, вызывая некую UDF-ф-цию, обращаются при LoadLibrary/FreeLibrary к DLL с этой UDF. Ничто не мешает перехватить при иниц-ции DLL ее DLLEntryPoint и вести сч-к вызовов с параметрами DLL_THREAD_ATTACH, DLL_THREAD_DETACH (с определенными оговорками, разумеется). Значение же сч-ка можно запросить из тех же SP или триггера в любой момент вызовом экспорт.ф-ции, возвращающей этот сч-к.
Johnmen (2002-01-30 16:16:00) [9]>serjant : если бы было проще, я не задавал бы вопроса, да и при общении с программерами лучше поймешь и больше узнаешь :))))
>Digitman : виноват, немного отвлекся и не въехал в тему...
...как реализовать метод получения общего числа активных
кл.соединений с IB-базой в теле триггера/SP...
Подскажи - это интересно... <:-)
Digitman (2002-01-30 15:49:00) [10]>Johnmen © (30.01.02 15:30)
>>кстати, а зачем еще и UDF, ведь можно без всяких UDF"ов
это как ? просвети меня, тупого) ... именно - как в контексте SP/триггера узнать число активных подключений к текущей IB-базе (текущему IB-серверу как вариант) без использования UDF ?
serjant (2002-01-30 15:48:00) [11]Почитай MSDN - проще будет
Johnmen (2002-01-30 15:30:00) [12]>Digitman : спасибо, но это я знаю, мне же нужно именно список подключенных к базе user"ов...
кстати, а зачем еще и UDF, ведь можно без всяких UDF"ов :)
Digitman (2002-01-30 15:01:00) [13]>Johnmen
Если интересно, могу подсказать, как реализовать метод получения общего числа активных кл.соединений с IB-базой в теле триггера/SP
Правда, без UDF тут обойтись нельзя
Johnmen (2002-01-30 12:26:00) [14]>Alexandr
не понял за что за свое...
у меня на одном компе - IB5, на др. - IB6,
прошу уточнить для IB5 - какой утилиткой;
для IB6 - понял, попробую;
полные - имею в виду те, которые на CD c Дельфями 5,6 Enterprise Edition (между прочим, купленные официально за бабки)
Alexandr (2002-01-30 12:13:00) [15]ну вот человек опязь за свое.
если в 5 то только утилиткой.
Если в 6 то можно через сервисы, используя компоненты прямого доступа IBX, FIBPLUS, IBOBJECTS
слушай, а что значит полные версии?
Johnmen (2002-01-30 12:10:00) [16]>Alexandr
У меня МастДай; IB5, IB6 полные версии ...
Alexandr (2002-01-30 11:53:00) [17]в разных версиях по-разному.
смотря какая у тебя версия:
CS или SS,
под WIN или Linux.
IB5 или IB6