Saber o numero de conexoes em um servidor de dados

16/02/2006

Ola!!!! Bom dia a todos!!!!

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

Respostas

16/02/2006

Paullsoftware

vc pode tentar o seguinte:

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...


Responder Citar

16/02/2006

Renato.pavan

assim vc pode tratar o que retornar...


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


Responder Citar

17/02/2006

Aroldo Zanela

Colega,

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]


Responder Citar