Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DB EVENT / 4 сообщений из 4, страница 1 из 1
17.10.2007, 19:03
    #34876236
PVN
PVN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB EVENT
ASA 9.02.
Задача - отследить когда, с какого компьютера и каким приложением соединялись/отсоединялись с БД.
Вся информация есть в connection_property.
Создаю 2 события в базе с типами connect и disconnect, пишу log в базу. Но не удается их связать.
Хотел использовать для этого connection ID, но проблема в том, что при соединении функция EVENT_PARAMETER ('ConnectionID') возвращает что-типа 1000000060, а при отсоединении нормальный ID, который мы видим в Sybase Central.

Есть ли какая-нибудь взаимосвязь между этими ID ?
...
Рейтинг: 0 / 0
17.10.2007, 20:34
    #34876407
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB EVENT
PowerBuilder тут причём?
...
Рейтинг: 0 / 0
17.10.2007, 22:55
    #34876612
PVN
PVN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB EVENT
Sorry, PB конечно ни при чем,
машинально.
...
Рейтинг: 0 / 0
18.10.2007, 12:41
    #34877588
ВасВас
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB EVENT
Я использую в приложении на открытии и закрытии вот такое:

string pk1,pk2

//имяПК:
rc = RegistryGet("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","DefaultUserName", RegString!, pk1)

//уч.запись:
rc = RegistryGet("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName", RegString!, pk2)

select first
isnull((SELECT CONNECTION_PROPERTY ('NodeAddress')),''),
isnull((SELECT CONNECTION_PROPERTY ('Number')),''),
isnull((SELECT CONNECTION_PROPERTY ('appinfo')),'')
into :ls_ipAddress,:ls_Numberconnect, :ls_appinfo
from dummy;

добавляю пользователя, время компьютера, сервера и т.д. что надо.

и еще в отдельном окне результаты процедуры:

ALTER PROCEDURE "Vit"."sp_conn_activ"()
result(Number integer,Userid varchar(255),NodeAddr varchar(255),Name varchar(255),LastReqTime timestamp)
/* формирует список пользователей, подключенных к базе данных */
/* созд.23-01-2007 ЖВВ изм.**-**-2007 */
begin
declare connid integer;
declare local temporary table t_conn_info(
Number integer null,
Userid varchar(255) null,
NodeAddr varchar(255) null,
Name varchar(255) null,
LastReqTime timestamp null
)
in SYSTEM not transactional;
set connid=next_connection(connid,null);
lbl:
loop
if connid is null then
leave lbl
end if;
insert into t_conn_info values(
connid,
connection_property('Userid',connid),
connection_property('NodeAddress',connid),
connection_property('Name',connid),
DATETIME(connection_property('LastReqTime',connid))
);
set connid=next_connection(connid,null)
end loop lbl;
select * from t_conn_info order by Userid
end


Может Вам пригодится.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / DB EVENT / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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