Array
(
)

Saber o numero de conexoes em um servidor de dados

Renato.pavan
   - 16 fev 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


Paullsoftware
   - 16 fev 2006

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:
#Código


QyUser.Close;
QyUser.Sql.Add(´Select * From Usuarios Where Conectado = ´´S´´ ´);
QyUser.Open;
VarTotalConectado := QyUser.RecordCount;


assim vc pode tratar o que retornar...


Renato.pavan
   - 16 fev 2006


Citação:
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


Aroldo Zanela
   - 17 fev 2006

Colega,

Abaixo, fragmento de uma discussão obtida no News da Borland:


Citação:
:
>
> Is there a way to get it from SQL?
> Something like SELECT Count(1) from RDB$IUnknow;
>


Citação:

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)