[firebase-br] testar fbclient.dll X versão do servidor

Gladiston Santana gladiston em vidy.com.br
Qua Maio 23 14:53:07 -03 2018


Nobre colega, um client de banco de dados é conhecido como middleware, ele
não executa nada em si mesmo, apenas repassas as requisições entre a camada
servidora e cliente.
Então se você conectar-se a base é porque a DLL em uso é compatível, de
outra forma, a própria DLL ou o servidor não aceitaria a conexão e
dispararia uma mensagem de erro.
Agora, podem existir multiplas versões que conectam a base e algumas
possuem falhas que foram corrigidas em versões posteriores ou tiram maior
proveito de recursos, então no frigir dos ovos o que você precisa é saber
se a DLL em uso é a ultima versão estável aceita pela camada servidora e
isso não será muito fácil porque envolve localizar a DLL certa em seu
sistema e via API do Windows conferir a versão dela e após isso ter um
referencial para comparar se a versão localizada é homologada para uso ou
não.
Uma outra forma de se fazer isso é usando tabelas de monitoramento, no
FB2.5+ há uma tabela virtual chamada MON$ATTACHMENTS que traz informações
das conexões estabelecidas no servidor, então há como você obter a versão
da DLL Cliente com que cada um conectou-se ao banco. Há diferentes campos
que podem ser exibidos nessa tabela usando FB2.5x ou FB3 então espero que
você encontre essa informação no FB2.5.
Um plus a mais no FB3, é que esta versão permite disparar triggers ao
estabelecer uma conexão, então em teoria seria possivel checar a versão da
DLL cliente logo após a conexão e desconectar-se se a versão não for a que
esperamos.

inte+

2018-05-23 12:58 GMT-03:00 Otavio Benini <otavio.benini em gmail.com>:

> prezados, boa tarde
>
> preciso controlar na minha aplicação (Delphi 2010) se o fbclient.dll em uso
> pelo cliente é compatível com a versão do servidor
>
> ainda estou usando Firebird 2.5.2
>
>



Mais detalhes sobre a lista de discussão lista