Fórum Verificar conexões - Firebird #274284
28/03/2005
0
Boa tarde pessoal....
já postei aqui no fórum essa dúvida mas creio que não ficou muito clara. É o seguinte: eu trabalho com arquitetura Client\Server onde várias estações de trabalho acessam, via BDE, uma micro onde se encontra o servidor de banco de dados (Firebird) e a base de dados. O que acontece é que nesse sistema temos um mecanismo de backup que pode ser acionado de qualquer uma das máquinas estações. O problema é que se houver alguma conexão aberta com a base de dados durante o backup ocorre erro, tanto no backup que gera um arquivo ZIP quanto no backup com compactação de dados do Firebird!
O que eu precisava era saber o número de conexões abertas com a base antes de realizar o backup. Fiz uma implementação que inicialmente funcionou bem, porém após alguns testes percebi que ela só funciona quando o aplicativo executa na mesma máquina onde se encontram instalados o Firebird e a base de dados. Nas demais estações as conexões não são contabilizadas!!! Segue o código:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
A variável sAlias q guarda o ServerName é disposta na seguinte forma:
Ex:´200.221.9.53:C:\base.fdb´, onde o IP é referente a máquina onde se encontra a base de dados.
Se alguém tiver alguma luz....
Grato desde já.
[]´s Fabrício
:arrow: [color=red:e96b310893]Bloqueado por oTTo.[/color:e96b310893]
já postei aqui no fórum essa dúvida mas creio que não ficou muito clara. É o seguinte: eu trabalho com arquitetura Client\Server onde várias estações de trabalho acessam, via BDE, uma micro onde se encontra o servidor de banco de dados (Firebird) e a base de dados. O que acontece é que nesse sistema temos um mecanismo de backup que pode ser acionado de qualquer uma das máquinas estações. O problema é que se houver alguma conexão aberta com a base de dados durante o backup ocorre erro, tanto no backup que gera um arquivo ZIP quanto no backup com compactação de dados do Firebird!
O que eu precisava era saber o número de conexões abertas com a base antes de realizar o backup. Fiz uma implementação que inicialmente funcionou bem, porém após alguns testes percebi que ela só funciona quando o aplicativo executa na mesma máquina onde se encontram instalados o Firebird e a base de dados. Nas demais estações as conexões não são contabilizadas!!! Segue o código:
-------------------------------------------------------------------------------
bDoBackup := True; try with TIBServerProperties.Create(Application) do begin ServerName := sAlias; LoginPrompt := False; Params.Add(´user_name=´+sUser); Params.Add(´password=´+sPassword); Active := True; try Options := [Database]; FetchDatabaseInfo; if(DatabaseInfo.NoOfAttachments > 0) then bDoBackup := False; finally Active := False; end; end; except bDoBackup := False; end;
-------------------------------------------------------------------------------
A variável sAlias q guarda o ServerName é disposta na seguinte forma:
Ex:´200.221.9.53:C:\base.fdb´, onde o IP é referente a máquina onde se encontra a base de dados.
Se alguém tiver alguma luz....
Grato desde já.
[]´s Fabrício
:arrow: [color=red:e96b310893]Bloqueado por oTTo.[/color:e96b310893]
Fabricio Lb
Curtir tópico
+ 0
Responder
Posts
28/03/2005
Gandalf.nho
[b:e5126cdeb0][color=red:e5126cdeb0]Notificação de Infração às Regras de Conduta :[/color:e5126cdeb0][/b:e5126cdeb0]
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?p=192714[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Duplicidade
[url]http://forum.clubedelphi.net/viewtopic.php?p=192714[/url]
Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)