Текущий архив: 2002.11.18;
Скачать: CL | DM;
Вниз
можно ли получить список пользователей работающих в базе Paradox Найти похожие ветки
← →
OlegKrt (2002-10-30 08:54) [0]можно ли получить список пользователей работающих с базой Paradox
или хотя бы узнать подключен ли кто-нибудь к базе
← →
Reindeer Moss Eater (2002-10-30 09:01) [1]Если этот список есть, то его получить можно
← →
REP (2002-10-30 09:18) [2]Чтобы узнать подключен ли кто-нибудь к базе попробуй использовать свойство TTable.Exclusive:
Try
..
Table1.Exclusive:=True;
Table1.Exclusive:=False;
..
Except
//Кто-то подключился!!!
end;
← →
Bis © (2002-10-30 09:28) [3]все это хранится в специальном файле PDOXUSRS.NET
Если он заблокирован (нельзя удалить), то значит есть подключения. И вполне могут быть повисшие соединения, так что не факт, что эксклюзивное открытие дает факт того, что кто-то работает в данный момент
← →
sky3d © (2002-10-30 09:48) [4]Когда то получал список пользователей, которые держат таблицу на случай что б знать кого отцеплять.
Основная идея вот в таком разрезе приблизительно:
procedure TForm1.GetLockInfo;
var
TmpCursor: hdbicur;
Lock: LOCKDesc;
rslt: dbiResult;
ListItem: TListItem;
begin
Session.Close;
Session.Open;
with Table do
try
DatabaseName := FDatabaseName;
TableName := FTableName;
Open;
except
Exit;
end;
Check(DbiOpenLockList(Table.handle, True, True, TmpCursor));
Check(DbiSetToBegin(TmpCursor));
ListView.Items.Clear;
repeat
rslt:= DbiGetNextRecord(TmpCursor, dbiNOLOCK, @Lock, nil);
if (rslt <> DBIERR_EOF) then
begin
ListItem := ListView.Items.Add;
ListItem.Caption := inttostr(Lock.iType);
ListItem.SubItems.Add(StrPas(Lock.szUserName));
ListItem.SubItems.Add(InttoStr(Lock.iNetSession));
ListItem.SubItems.Add(InttoStr(Lock.iSession));
ListItem.SubItems.Add(InttoStr(Lock.iRecNum));
end;
until rslt <> DBIERR_NONE;
Check(DbiCloseCursor(TmpCursor));
end;
← →
Reindeer Moss Eater (2002-10-30 10:24) [5]А я взял и открыл файл таблицы c помощью Notepad.exe
← →
OlegKrt (2002-10-30 10:30) [6]а можно ли получить имя машины, с которой подключен пользователь?
И если кто-то открыл файл монопольно можно ли узнать кто?
← →
Avsam © (2002-10-30 16:19) [7]> А я взял и открыл файл таблицы c помощью Notepad.exe
notepad.exe загружает в себя файл, не лочя его. То есть файл даже удалить можно.
Лучше всего в программе сделать, что при запуске пользователь регистриться в специально отведенной таблице, а при выходе - запись удаляется.
Туда же можно писать и имя машины, время и т.д.
Страницы: 1 вся ветка
Текущий архив: 2002.11.18;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.018 c