Saber o numero de conexoes em um servidor de dados
16/02/2006
0
Estou querendo montar um esquema em delphi pra controlar o numero de estações em uma rede que possa acessar meu sistema.
Ex. numa certa empresa tem uma rede com 10 maquinas, ele adquire 5 licencas, sendo que o meu exe vai estar em todas estacões, tem como eu saber qtos usuarios estao conectados no db pra poder limitar e mandar alguma mensagem informando?
Uso delphi 7 + firebird 1.5.3 + ado
Desde ja agradeço a todos...
[]´s
Renato
Renato.pavan
Posts
16/02/2006
Paullsoftware
Eu faço assim:
na minha tabela de usuários tenho mais dois campos:
´Conectado varchar(1)´ Valor S ou N
´DataHora TimeStamp´ Data e Hora da Conexão
´Micro VarChar(20)´ Micro da Conexão
´IP VarChar(20)´ IP da conexão
daí vc pode fazer um SQL para selecionar todos os usuários que estão conectados ao mesmo tempo tipo:
QyUser.Close; QyUser.Sql.Add(´Select * From Usuarios Where Conectado = ´´S´´ ´); QyUser.Open; VarTotalConectado := QyUser.RecordCount;
assim vc pode tratar o que retornar...
16/02/2006
Renato.pavan
Amigo, obrigado, vou testar sua solução, mas sera que mais alguem saberia alguma forma de verificar isso no servidor firebird mesmo?
Obrigado.
[]´s
Renato
17/02/2006
Aroldo Zanela
Abaixo, fragmento de uma discussão obtida no News da Borland:
[quote:6c91a177ad=´Clelson Luiz´]:
>
> Is there a way to get it from SQL?
> Something like SELECT Count(1) from RDB$IUnknow;
>
[/quote:6c91a177ad]
[quote:6c91a177ad=´Jeff Overcash (TeamB) ´]
No. You have to go through the API. The DB itself doesn´t know the number of
connections etc to it, that is a server level function so the information isn´t
stored in any table. You call isc_database_info with the command set to
isc_info_user_names if you want to use the API.
--
Jeff Overcash (TeamB)
[/quote:6c91a177ad]
Clique aqui para fazer login e interagir na Comunidade :)