[firebase-br] Queda servidor firebird

firebase em dominioinf.com.br firebase em dominioinf.com.br
Sex Out 23 09:27:58 -03 2015


Bom dia a todos,

Fiz uma rotina para quando a conexão cair, o ibodatabase se reconecte. 
Mas
fazendo os testes quando o sistema cai, o ibodatabase se reconecta com 
sucesso,
e o IBOQuery gera uma exceção "FieldNo: -1 found", porém, clicando em Ok 
nessa
mensagem, o sistema funciona normalmente a partir dai.

Eu queria saber,  tem como suprimir essa mensagem para que ela não 
apareça para o
cliente, sem usar applicationevents? Pois o applicationevents entra em 
conflito
com outras operações do meu sistema.

Grato

Rodrigo



Em 2015-10-16 16:49, Carlos Wilson escreveu:
> Depois que eu vi um mini curso do Guinter Pauli da ClubeDelphi sobre o
> uso do ClientDataSet só uso ele agora, tenho apenas uma conexão no dm
> principal e funciona muito bem com os componentes dbWare. Pra que
> ficar reiventando a roda? Sei que o LiveBindings funciona com a VCL,
> mas foi um artificio inventado principalmente para o firemonkey pois
> no firemonkey não existe dbware. Mas o liveBindings por si só não
> resolve o problema da ligação dos TFields com o Connection. Mas a
> arquitetura baseada no ClientDataSet se não resolver em 100% dos casos
> mas em 90% é certeza.
> 
> []'s
> Carlos Wilson
> Formosystem
> Informática e Automação Comercial
> 
> Em 16-10-2015 14:37, Kelver Merlotti escreveu:
>> Pessoal, não estou acompanhando a fundo a discussão (sorry), mas só 
>> pra
>> contribuir com meus 2 centavos: é TOTALMENTE possível usar os 
>> controles
>> Data-aware sem qualquer ligação com o banco de dados, usando 
>> ClientDataSet,
>> por exemplo, ou o FDMemTable, do FireDAC. Conecta, pega os dados e 
>> trabalha
>> em memória, desfrutando de tudo que o framework lhe oferece para
>> manipulação de dados!
>> Respeito quem prefere trabalhar sem DataControls, mas cuidado ao 
>> afirmar
>> que esse é o melhor caminho =)
>> Abraços e bom final de semana,
>> 
>> *Kelver Merlotti*
>> Coordenador Editorial da Active Delphi
>> Twitter: http://www.twitter.com/kmerlotti
>> 
>> 2015-10-16 10:30 GMT-03:00 Gladiston Santana <gladiston em vidy.com.br>:
>> 
>>> Bem, a maneira que se dá o uso do TDataset cria essas complicações 
>>> que
>>> requerem conciliar os links dos Dataset com os componentes ligados a 
>>> ele
>>> quando ocorre a quebra de conexão.
>>> Há uma nova abordagem do XE usando LiveBindings em componentes comuns
>>> linkando-os com TFields/TDataset.
>>> É possivel com o uso de LiveBinds, por exemplo, assinalar um 
>>> StringGrid com
>>> os dados de um TDataset dando a impressão de um DBGrid, Edit/Checkbox 
>>> com
>>> TFields causando a impressão de um DBEdit/DBCheckbox.
>>> Se a conexão quebrar, quebra o TFields/TDataset é claro, mas o 
>>> LiveBinds só
>>> dependeu deles no momento da captura da informações, depois disso 
>>> seus
>>> componentes vão manter o mesmo 'Status Quo' mesmo que a conexão seja
>>> finalizada. Dá uma observada nos videos do Youttube sobre 
>>> apresentações do
>>> Embarcadero no Brasil e você verá melhor.
>>> Eu recomendo a qualquer um que use uma conexão separada quando 
>>> submeter as
>>> alterações (insert/update/delete), pois nela você cria uma
>>> função/classe/procedure unica para todas as suas queries que pode 
>>> testar se
>>> a conexão esta aberta ou fechada e nesse caso abre-a e a manterá 
>>> assim
>>> mesmo após o sucesso ou falha da query.
>>> Quando eu digo abrir/fechar é porque minhas conexões são 
>>> estabelecidas em
>>> cada formulário, daí se o formulário fechar, o form é destruído e a 
>>> conexão
>>> também.
>>> Claro que dá para tudo isso fazer passar por uma unica conexão única 
>>> no
>>> form principal ou datamodule e parece sábio fazer assim, mas conexões
>>> distintas para cada contexto me dá a versatilidade de lidar com 
>>> isolamentos
>>> diferentes, um formulário de venda de passagens, por exemplo, teria 
>>> um tipo
>>> de transação pessimista e não deixaria outro chegar perto do acento
>>> enquanto aquele preenchimento não fosse resolvido, por outro lado,
>>> informações pouco relevantes poderiam ser editados simultamente e
>>> sobreviveria a mais recente, ainda noutro relatório usaria um 
>>> isolamento
>>> que vê tudo no modo dirty, até o que ainda não foi confirmado com 
>>> commit.
>>> 
>>> Se fosse uma linguagem para web como php você não poderia ter uma 
>>> conexão
>>> permanente, no máximo uma conexão dinamica (pconnect) onde a conexão 
>>> abre e
>>> fecha sozinho conforme o fluxo de dados chegam ou saem. No delphi 
>>> poderia
>>> ser assim também, mas a borland/inprise/embarcadero quiseram 
>>> facilitar e na
>>> minha opinião se saíram bem, mas cria esses embrolhos de como 
>>> conciliar
>>> dados depois de uma queda de conexão. Nessas situações, isto é, em
>>> latencias muito altas e qualidade ruim de rede, o ideal é usar 
>>> DataSnap.
>>> 
>>> inte+
>>> 
>>> Em 16 de outubro de 2015 09:27, <firebase em dominioinf.com.br> 
>>> escreveu:
>>> 
>>>> Bom dia Gladiston,
>>>> 
>>>> Também não uso Datawares em meu sistema. Isso ja é muito bom. Mas a 
>>>> minha
>>>> preocupação é que
>>>> como o banco de dados é bem grande, as vezes leva em torno de 5 
>>>> segundos
>>>> para conectar, e
>>>> liberar para uso.
>>>> 
>>>> Então imagina o cliente abrindo e fechando a tela de vendas, e a 
>>>> cada vez
>>>> que abrir e fechar
>>>> demorar até 5 segundos ou mais para abrir o banco de dados.
>>>> 
>>>> Acho eu que não seria a melhor solução. Diferente de por exemplo,
>>>> programar em php, que
>>>> a conexão parece ser super rapida com MYSQL, nem se percebe que toda 
>>>> vez
>>>> que enviamos um
>>>> novo registro ele abre o banco de dados e no final fecha.
>>>> 
>>>> Dai alguem pode perguntar, então porque não usa o mysql? Ja fiz esse
>>>> teste, com o zeos e
>>>> a conexão também fica demorada, não é privilégio somente do 
>>>> firebird.
>>>> 
>>>> Mas voltando ao assunto principal, o interessante seria a conexão
>>>> conseguir se recuperar de onde
>>>> parou quando for perdida e dar continuidade na operação. Não sei se 
>>>> isso
>>> é
>>>> possivel mas continuo
>>>> na luta para chegar nesse estagio.
>>>> 
>>>> Grato
>>>> 
>>>> Rodrigo
>>>> 
>>>> 
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas:
>>> http://www.firebase.com.br/pesquisa_lista.html
>>> 
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use: 
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: 
>> http://www.firebase.com.br/pesquisa_lista.html
>> 
> 
> 
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: 
> http://www.firebase.com.br/pesquisa_lista.html





Mais detalhes sobre a lista de discussão lista